在Matlab中使用以前版本的gcc for mex

时间:2016-10-31 23:52:56

标签: matlab gcc mex

我想在Matlab中使用gcc version 4.9。我安装了gcc-4.9,但我试图将它与Matlab一起使用已被挫败。

Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. 
The version currently supported with MEX is '4.9.x'. For a list of currently 
supported compilers see:

我的尝试:

1)mex -setup和mex -setup C ++

不显示可供选择的选项,只显示

MEX configured to use 'gcc' for C language compilation.

而且我不知道该怎么做。

2)https://www.mathworks.com/help/matlab/matlab_external/changing-default-compiler.html

的CopyFile(完整文件(matlabroot,'的extern''实施例'' refbook'' timestwo.c'),&# 39;'' F&#39) mex -v GCC =' /usr/bin/gcc-4.7' timestwo.c

这不适用于我,因为我没有尝试编译单个文件。

3)在" MatlabRoot / bin /"中编辑mexopts.sh和〜/ .matlab / R2016b

(重启Matlab并得到同样的错误)

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

更改MATLAB中使用的gcc和g ++版本(我在Ubuntu 16.04上使用R2017b),首先,使用

安装gcc-4.9和g ++ - 4.9
sudo apt-get install gcc-4.9 g++-4.9

要更改gcc的版本,请运行以下命令:

sudo gedit ~/.matlab/R2017b/mex_C_glnxa64.xml

并将 Location =“$ GCC”替换为 Location =“/ usr / bin / gcc-4.9”

要更改g ++的版本,请运行以下命令:

sudo gedit /usr/local/MATLAB/R2017b/bin/glnxa64/mexopts/g++_glnxa64.xml

并将 Location =“$ G ++”替换为 Location =“/ usr / bin / g ++ - 4.9”

要验证更改是否正确完成,请在MATLAB Command Windows中运行以下命令:

  

for gcc

myCCompiler = mex.getCompilerConfigurations('C','Selected')
  

for g ++

myCCompiler = mex.getCompilerConfigurations('C++','Selected')

我希望,这有帮助。