本文主要是介绍Invalid MEX-file caffe_.mexa 的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用Matlab 运行caffe 库的过程中,有时会因为Matlab 和 caffe 版本的不一致出现以下类似的错误:
Invalid MEX-file ‘*/caffe/matlab/caffe/caffe_.mexa64’: /usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6: undefined symbol:
出现这种错误的原因是因为Matlab 找不到caffe的部分动态链接库文件,解决这个问题的方法是:
- (1)在linux 命令行窗口中,使用ldd 命令查看 caffe_.mexa64 所依赖的所有库文件的路径,读法结构为 : ldd path,其中path是caafe_.mexa64的完整路径:
ldd */caffe/matlab/caffe/caffe_.mexa64'
- (2)在matlab窗口中,使用!ldd命令查看caffe_.mexa64找不到的所依赖的库文件的路径:
!ldd */caffe/matlab/caffe/caffe_.mexa64'
在本例中,libstdc++.so.0没有被Matlab找到,即2 步骤中会显示它的默认路径“/usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6“,而在1步骤中显示了它的真实路径:”/usr/lib/x86_64-linux-gnu/libstdc++.so.6“
- (3)通过以下命令:
sudo rm /usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6
将默认路径链接到真实路径下。
- (4)重启Matlab,运行即可成功。
参考:
caffe
这篇关于Invalid MEX-file caffe_.mexa 的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!