我在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编译器,但我不知道如何。
任何帮助都是值得欣赏的。 此致
答案 0 :(得分:0)
这与编译器版本的警告无关;不注意,你会没事的。您可能在尝试编译c++11
源时遇到问题,具体取决于您的Matlab版本,编译器版本和mex命令标志,但不您的情况。
问题在于:您的C程序binary.c
包含文件#include
的{{1}}语句,Matlab找不到该语句(尽管我相信您将其放在同一目录中C文件?)因为包含C源的目录不在Matlab路径中。
要解决此问题,只需将目录更改为binary.h
所在的位置,然后将文件更改为mex。您可以自动执行以下操作:
binary.c