Я пытаюсь скомпилировать Matcaffe в Ubuntu 16.04. Я мог бы успешно скомпилировать кофе и pycaffe (используя gcc 5). Однако с Ubuntu 16.04 поставляется с GCC 5 и MATLAB R2016b совместим с GCC 4.9, я получил следующее предупреждение во время компиляции (с помощью грим matcafee):Matcaffe on Ubuntu 16.04
MEX matlab/+caffe/private/caffe_.cpp Building with 'g++'. Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.9.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release . MEX completed successfully.
Даже если файл MEX создан, я не могу используйте его из MATLAB, потому что он не распознает их.
Для решения этой проблемы я установил gcc 4.9 и g ++ 4.9 и обновил символические ссылки для их использования. Когда я пытаюсь скомпилировать matcaffe, я получаю следующее сообщение об ошибке:
MEX matlab/+caffe/private/caffe_.cpp Building with 'g++'. /tmp/mex_286607035953408_13265/caffe_.o: In function
net_copy_from(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x167d): undefined reference to
caffe::Net::CopyTrainedLayersFrom(std::string)' /tmp/mex_286607035953408_13265/caffe_.o: In functionget_net(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x182b): undefined reference to
caffe::Net::Net(std::string const&, caffe::Phase, int, std::vector > const*, caffe::Net const*)' /tmp/mex_286607035953408_13265/caffe_.o: In functionget_solver(int, mxArray_tag**, int, mxArray_tag const**)': caffe_.cpp:(.text+0x343f): undefined reference to
caffe::ReadSolverParamsFromTextFileOrDie(std::string const&, caffe::SolverParameter*)' /tmp/mex_286607035953408_13265/caffe_.o: In functionstd::string* google::MakeCheckOpString<int, int>(int const&, int const&, char const*)': caffe_.cpp:(.text._ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc[_ZN6google17MakeCheckOpStringIiiEEPSsRKT_RKT0_PKc]+0x42): undefined reference to
google::base::CheckOpMessageBuilder::NewString()' /tmp/mex_286607035953408_13265/caffe_.o: In functionstd::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 to
google::base::CheckOpMessageBuilder::NewString()' collect2: error: ld returned 1 exit statusMakefile:511: recipe for target 'matlab/+caffe/private/caffe_.mexa64' failed make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
Кто-нибудь успешно скомпилирован Matcaffe на Ubuntu 16.04? Я также пробовал такую же процедуру с MATLAB R2014b и gcc 4.7, но без каких-либо успехов.
Это работает, спасибо за исправление! – user1586259