转: 安装好caffe之后配置Matlab的接口
http://blog.csdn.net/rt5rte54654/article/details/54742981
zdc@zdc-PC:~/caffe$ sudo make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto
zdc@zdc-PC:~/caffe$ sudo make matcaffe
MEX matlab/+caffe/private/caffe_.cpp
Building with 'g++'.
Warning: You are using gcc version '5.3.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.
安装后测试:
make mattest
出现问题:
Invalid MEX-file '/home/zdc/caffe/matlab/+caffe/private/caffe_.mexa64':
/usr/local/MATLAB/R2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6:
version `GLIBCXX_3.4.21' not found (required by
/home/zdc/caffe/matlab/+caffe/private/caffe_.mexa64).
修改:
zdc@zdc-PC:~/caffe$ export LD_LIBRARY_PATH=/usr/local/MATLAB/R2016b/bin/glnxa64
zdc@zdc-PC:~/caffe$ export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
zdc@zdc-PC:~/caffe$ make mattest
以下问题:
Invalid MEX-file '/home/zdc/caffe/matlab/+caffe/private/caffe_.mexa64':
/home/zdc/caffe/matlab/+caffe/private/caffe_.mexa64: undefined symbol:
_ZN2cv8imencodeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_11_InputArrayERSt6vectorIhSaIhEERKSB_IiSaIiEE.
查看依赖项
ldd ./matlab/+caffe/private/caffe_.mexa64
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/local/MATLAB/R2016b/bin/glnxa64/
/usr/local/cuda/lib64/
/usr/lib/x86_64-linux-gnu/
/usr/local/MATLAB/R2016b/bin/glnxa64/
需要设置的环境
sudo vim ~/.bashrc
添加下列内容:
export LD_LIBRARY_PATH=/usr/local/MATLAB/R2016b/sys/os/glnxa64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6
然后再运行 make mattest
OK了。
测试: 运行matlab
cd /home/zdc/caffe/matlab
caffe.run_tests()
OK!
遇到的一个问题:GCC4.9出现
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libgflags.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@GLIBCXX_3.4.21'
参考解决:编译安装caffe
http://blog.csdn.net/u010734277/article/details/70195043