为什么安装了MinGW之后,还是不能在Matlab中使用mex?

原文地址:http://blog.sina.com.cn/s/blog_53c7b1580102xjcw.html

老版本的Matlab自带lcc,在Matlab中输入mex -setup就可以选择、设置。如果电脑中还安装了VC之类的其它C编译器,Matlab也会列出,供你选择哪个编译器。
但高版本的Matlab用起来没这么简单。
我用2015b,输入mex -setup,提示:
“错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。如需更多选项,请参阅
http://www.mathworks.com/support/compilers/R2015b/win64.html。

我按照说明到“附加功能”里去添加MinGW,结果附加功能管理器页面的小风扇转啊转,就是转不出来。
只好自己百度了一下MinGW-w64,若干版本,装了一个,不管用。
后来仔细看Matlab的说明,发现Matlab支持的版本是这个样子的:
为什么安装了MinGW之后,还是不能在Matlab中使用mex?为什么安装了MinGW之后,还是不能在Matlab中使用mex?
于是又去找TDM-GCC(http://tdm-gcc.tdragon.net/download)。安装后,还是不灵。
后来上网搜了一下,找到原因了。
1、我安装的TDM-GCC是32位的,要下64位的。重新下载、安装(注意安装时应去掉上图中那个打勾的选项)。
2、但这还不够,还要在系统属性中设置环境变量。
计算机→属性→高级系统设置→高级,有个环境变量,就是这个:
为什么安装了MinGW之后,还是不能在Matlab中使用mex?为什么安装了MinGW之后,还是不能在Matlab中使用mex?
点开,选系统变量下的“新建”,变量名写“MW_MINGW64_LOC”,变量值输入之前安装的TDM-GCC的目录,就是“C:\TDM-GCC-64”。确定。
为什么安装了MinGW之后,还是不能在Matlab中使用mex?为什么安装了MinGW之后,还是不能在Matlab中使用mex?

3、再到Matlab中设置Matlab的临时环境变量,在Matlab中输入:
setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')
4、再输入mex -setup C++就可以了。

为什么安装了MinGW之后,还是不能在Matlab中使用mex?

5、不过,Matlab这个环境变量好像是临时的,所以可以在Matlab的起始目录下建一个startup.m文件,把设置环境变量的语句放在这个m文件中,这样每次Matlab启动就会自动执行了。

官方说明在这:
https://cn.mathworks.com/matlabcentral/answers/313298-i-already-have-mingw-on-my-computer-how-do-i-configure-it-to-work-with-matlab

上一篇:matlab中gatbx工具箱的添加


下一篇:SIGALRM信号和SIGCHID信号