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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Matlab中使用以前版本的gcc for mex相关的知识,希望对你有一定的参考价值。

我想在Matlab中使用gcc 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(fullfile(matlabroot,'extern','examples','refbook','timestwo.c'),'。','f')mex -v GCC ='/ usr / bin / gcc-4.7'timestwo。 C

这不适用于我,因为我不是要编译单个文件。

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

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

在此先感谢您的帮助!

答案

更改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 =“/ usr / bin / gcc-4.9”替换Location =“$ GCC”

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

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

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

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

对于gcc

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

对于g ++

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

我希望,这有帮助。

以上是关于在Matlab中使用以前版本的gcc for mex的主要内容,如果未能解决你的问题,请参考以下文章

在 mac 上切换 gcc 版本

在 matlab 中使用库(gcc)和编译 mex 时出错

Matlab R2016a Mex 文件错误

你怎么能得到一个 4.2 版本的 g++/gcc for windows?

修改ubuntu中的gcc和g++版本

在 64 位 Windows 7 机器上使用 GCC 作为 MATLAB 2014a 的默认 MEX 编译器