一般MATLAB的mex支持的gcc版本都比最新的gcc要低一些,所以一般要配置一下。
假设当前版本的gcc是4.8,matlab支持4.6,可以使用以下的方式解决(任选一种)。(自己装好gcc-4.6)
修改安装目录下的mexopts.sh
使用管理员权限,修改/usr/local/MATLAB/R20**/bin/mexopts.sh,将 CC=gcc 改成 CC=gcc-4.6。
这种修改的效果是全局的,影响所有用户。
修改自己目录下的mexopts.sh
将/usr/local/MATLAB/R20**/bin/mexopts.sh拷贝一份到自己的家目录下 ~/.matlab/R20**/mexopts.sh。
然后,按照同样的方式修改这个文件。
这会使你忽略全局设置,只按照这个配置来。
直接修改默认gcc版本
使用 update-alternatives来更换默认gcc版本,需要管理员权限,且会影响所有用户,影响所有使用gcc的场景。 不推荐。
如果是opensuse用户,可以链接gcc-4.6到自己 ~/bin/目录下。这样,自己所有使用gcc的地方都会默认使用gcc-4.6。方法如下
ln -s /usr/bin/gcc-4.6 ~/bin/