【发布时间】:2016-10-31 14:42:27
【问题描述】:
我一直在尝试在 Ubuntu 16.04 中编译 Matcaffe。我可以成功编译 caffe 和 pycaffe(使用 gcc 5)。但是由于 Ubuntu 16.04 带有 gcc 5,并且 MATLAB R2016b 与 gcc 4.9 兼容,所以在编译期间我收到了以下警告(使用 make matcafee):
MEX matlab/+caffe/private/caffe_.cpp 使用“g++”构建。警告: 您正在使用 gcc 版本“5.4.0”。 gcc的版本不是 支持的。 MEX 当前支持的版本是“4.9.x”。为一个 当前支持的编译器列表见: http://www.mathworks.com/support/compilers/current_release。墨西哥 顺利完成。
即使创建了 MEX 文件,我也无法在 MATLAB 中使用它,因为它无法识别它们。
为了解决这个问题,我安装了 gcc 4.9 和 g++ 4.9 并更新了符号链接以使用它们。当我尝试编译 matcaffe 时,我收到以下错误消息:
MEX matlab/+caffe/private/caffe_.cpp 使用“g++”构建。 /tmp/mex_286607035953408_13265/caffe_.o:在函数中
net_copy_from(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x167d): undefined reference tocaffe::Net::CopyTrainedLayersFrom(std::string)' /tmp/mex_286607035953408_13265/caffe_.o:在函数get_net(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x182b): undefined reference tocaffe::Net::Net(std::string const&, caffe::Phase, int, std::vector > const*, caffe::Net const*)' /tmp/mex_286607035953408_13265/caffe_.o:在函数get_solver(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x343f): undefined reference tocaffe::ReadSolverParamsFromTextFileOrDie(std::string const&, caffe::SolverParameter*)' /tmp/mex_286607035953408_13265/caffe_.o: 在 函数std::string* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': caffe_.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc]+0x42): undefined reference togoogle::base::CheckOpMessageBuilder::NewString()' /tmp/mex_286607035953408_13265/caffe_.o:在函数std::string* google::MakeCheckOpString<unsigned long, int>(unsigned long const&, int const&, char const*)': caffe_.cpp:(.text._ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringImiEEPSsRKT_RKT0_PKc]+0x42): undefined reference togoogle::base::CheckOpMessageBuilder::NewString()' collect2:错误:ld 返回 1 个退出状态Makefile:511:目标“matlab/+caffe/private/caffe_.mexa64”的配方 制作失败:*** [matlab/+caffe/private/caffe_.mexa64] 错误 255
有没有人在 Ubuntu 16.04 上成功编译过 Matcaffe? 我还用 MATLAB R2014b 和 gcc 4.7 尝试了相同的过程,但没有任何成功。
【问题讨论】:
标签: matlab caffe ubuntu-16.04 matcaffe