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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么安装了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支持的版本是这个样子的:
技术图片技术图片
于是又去找TDM-GCC(http://tdm-gcc.tdragon.net/download)。安装后,还是不灵。
后来上网搜了一下,找到原因了。
1、我安装的TDM-GCC是32位的,要下64位的。重新下载、安装(注意安装时应去掉上图中那个打勾的选项)。
2、但这还不够,还要在系统属性中设置环境变量。
计算机→属性→高级系统设置→高级,有个环境变量,就是这个:
技术图片技术图片
点开,选系统变量下的“新建”,变量名写“MW_MINGW64_LOC”,变量值输入之前安装的TDM-GCC的目录,就是“C:\TDM-GCC-64”。确定。
技术图片技术图片

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

技术图片

 


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

以上是关于为什么安装了MinGW之后,还是不能在Matlab中使用mex?的主要内容,如果未能解决你的问题,请参考以下文章

window10 matlabR2015b 安装minGw

MATLAB 环境变量修改后还是不能用!我是amd的cpu

C语言编译器” MinGW-w64 C/C++”的安装

为什么Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)不能安装,装了之后其他的还是不能装

在 MATLAB 中识别 VC++ 编译器

CodeBlocks无法调试