一般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/