在matlab上的旧gcc编译器

时间:2014-10-24 09:31:21

标签: c matlab gcc mex

我在Linux MINT上使用MATLAB。我有一个C程序,我想使用mex命令,如下所示:

mex /home/.../binary.c -output binary_m

但是我收到以下错误

Warning: You are using gcc version "4.8.1-10ubuntu9)".  The version
         currently supported with MEX is "4.4.6".
         For a list of currently supported compilers see: 
         http://www.mathworks.com/support/compilers/current_release/

/home/.../binary.c:43:19: fatal error: binary.h: No such file or directory
 #include "binary.h"

                   ^
compilation terminated.

    mex: compile of ' "/home/.../binary.c"' failed.

我认为我必须在MATLAB上降级gcc编译器,但我不知道如何。

任何帮助都是值得欣赏的。 此致

1 个答案:

答案 0 :(得分:0)

这与编译器版本的警告无关;不注意,你会没事的。您可能在尝试编译c++11源时遇到问题,具体取决于您的Matlab版本,编译器版本和mex命令标志,但您的情况。

问题在于:您的C程序binary.c包含文件#include的{​​{1}}语句,Matlab找不到该语句(尽管我相信您将其放在同一目录中C文件?)因为包含C源的目录不在Matlab路径中。

要解决此问题,只需将目录更改为binary.h所在的位置,然后将文件更改为mex。您可以自动执行以下操作:

binary.c
相关问题