matlab调用caffemex_caffe与MATLAB连接踩的坑

刚来公司用的服务器,分配给自己账号,安装了caffe,配好了Makefile.config中的MATLAB dir。

之后问题来了

解决方法:

在Makefile里面,大约第410行那一句话CXXFLAGS += -MMD -MP下面添加CXXFLAGS += -std=c++11,最后是这样CXXFLAGS += -MMD -MPCXXFLAGS += -std=c++11然后在caffe根目录下make clean,make all。

之后再matcaffe,successfully.耶!

but,运行.m文件又出现问题了

Invalid MEX-file ‘*/caffe/matlab/caffe/caffe_.mexa64’: /usr/local/Matlab/R2013a/sys/os/glnxa64/libstdc++.so.6: undefined symbol:

各种查资料,基本都是让

sudo rm /usr/local/Matlab/R2014b/sys/os/glnxa64/libstdc++.so.6

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/local/Matlab/R2014b/sys/os/glnxa64/libstdc++.so.6

remove 还要软链接,,可是我没有权限啊。。不得已又和掌柜的要了权限。

但还是不行。。纳尼,要闹哪样。

PS:只替换库libstdc++.so.6是不行的,要解决此问题需要多替换几个库。输入终端命令:

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

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/

注意:目录/usr/lib/x86_64-linux-gnu/是我的系统库目录。大家可以通过查询库所在位置来确定自己的系统库目录:

sudo find / -name  libstdc++.so.6

重新运行make mattest , 问题彻底解决~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值