caffe编译matlab 接口以及出错问题

本文档介绍了在Linux环境下,当Caffe的MATLAB接口遇到版本不匹配错误时如何进行编译和修复。主要内容包括:1) Caffe的编译过程;2) 编译MATLAB接口;3) 解决MATLAB与gcc版本不匹配导致的错误;4) 更新与opencv相关的软连接以解决MEX-file错误。
摘要由CSDN通过智能技术生成
首先,安装caffe之后编译

sudo make all -j8

sudo make test -j8

sudo make runtest -j8

接下来编译matlab借口

sudo make matcaffe -j8

测试matlab 接口: sudo make mattest -j8 

如果顺利的就OK了

 

但是,如果matlab版本和gcc(Linux)版本不匹配的话,就会引起错误


在matlab中如果调用caffe的话,也有可能遇到下面的错误提示和上面的错误语句

Invalid MEX-file '/home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64':
/usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version
`GLIBCXX_3.4.21' not found (required by /home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64)

matlab自身引用的gcc版本和系统的版本不匹配,一般情况是matlab引用的版本太低

有的caffe安装教程刚一开始就会降低gcc版本

如果没有,那就可以更改matlab中引用的gcc的软连接

 我的Ubuntu 中gcc的路径是/usr/lib/x86_-linux_gnu/路径下的libstdc++.so.6的软连接不匹配(保证和l/usr/lib/x86_64-linux-gnu/libstdc++.so.6 连接版本一样)

可以通过 ls -al /usr/lib/x86_64-linux-gnu/libstdc++.so.6  查看连接的详细信息

sudo ln -s /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.21 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6

更新软连接sudo ldconfig  

这样更新软连接之后,有时候还是出错,就有可能是matlab中引用的opencv版本不匹配

如: Invalid MEX-file '/home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64':/usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version`GLIBCXX_3.4.21' not found (required by /home/matconvnet-1.0-beta20/matlab/mex/vl_nnconv.mexa64)

这时候就还需要更新一些软连接,opencv相关的

查看下相关文件

 ls -al /usr/local/MATLAB/R2014a/bin/glnxa64/libopen* ls -al /usr/local/opencv-2.4.13/build/lib/libopencv_*  (我安装的opencv2.4,因为安装3.0老是编译不通过)


删除原来的连接

sudo rm -rf libopencv_core.so.2.4 libopencv_highgui.so.2.4 libopencv_imgproc.so.2.4

建立新的连接

sudo ln -s /usr/local/opencv-2.4.13/build/lib/libopencv_core.so.2.4.13 libopencv_core.so.2.4

sudo ln -s /usr/local/opencv-2.4.13/build/lib/libopencv_imgproc.so.2.4.13 libopencv_imgproc.so.2.4

 sudo ln -s /usr/local/opencv-2.4.13/build/lib/libopencv_highgui.so.2.4.13 libopencv_highgui.so.2.4

更新连接 sudo ldconfig
再重新测试接口 sudo make mattest       OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值