matlab2016b中mex编译依赖gcc4.9.x但是ubuntu16.04自带为gcc5.4.1,但是matlab版的卷积神经网络库matconvet编译需要gcc5.0以上。
如果顾及mex链接问题,给gcc降级就会出现很多函数找不到的情况。如下:
如果不给gcc降级也能编译过,但会提示warning,说是mex不支持5.4.1,但是不影响运行,如下
最后是运行问题,测试demo_ECO_HC正常,但是运行demo_ECO出错,如下:
解决办法:
删掉matlab里面的libstdc++.so.6,寻找自己电脑的libstdc++.so.6并建立软链接。
cd /usr/local/MATLAB/R2016b/sys/os/glnxa64
ls
rm -rf libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6