matlab 解决 错误使用 mex 未找到支持的编译器或 SDK

平时跑论文的里MATLAB代码不少都是调用了c的函数,然而然而就是在MATLAB里编译C这个小问题却困扰了我好久。函数

在matlab中编译C程序为matlab可识别的mex文件须要使用命令:  mex  filename.c 。在这以前须要时用命令:mex -setup C++ 来更改缺省的compiler为相应的C编译器。若是没有安装matlab支持的编译器就会报错:spa

错误使用 mex
未找到支持的编译器或 SDK。有关选项,请访问  http://www.mathworks.com/support/compilers/R2014a/win64.net

这时能够直接经过链接下载安装微软的SDK7.1。在安装时可选项中点选visual C++ compiler就能够了。命令行

固然这是顺利的状况,我成功过一次。get

可是后来换一台电脑,问题就来了,安装了SDK7.1仍是报错,后来发现可选项visual C++ compiler是灰的,不能点选。提示是缺乏.NET Framework 4.0的支持。但是我查看了一下,那台电脑有安装最新的.NET Framework,再安装会提示已安装最新版本,并且想卸载重装都不行,用用微软官方的Windows Install Clean-up都搞不定。后来知道,这是由于当初安装的时候没成功,有残留,这就恶心了。(要解决这个麻烦就是另一个问题了,在这里就不赘述了)编译器

还有一次不存在上述问题,成功安装了SDK7.1,可是仍是不行。那次我用的是matlab 2014a 的破解版。这个就有点不讲道理了。后来看到不少人有一样的问题。这多是网上广为流传的那个2014a的破解版自己的问题。因此遇到这种状况的朋友能够换一个版本的matlab试一下。编译

不过仍是有其它方法解决的。那就换一个编译器,我选择的是TDM-GCC,Matlab自己也推荐这个。变量

大概步骤是:gcc

第一步:下载TDM-GCC(注意看清是32位仍是64位),TDM-GCC的安装路径不要包括空格; http://tdm-gcc.tdragon.net/download file

第二步:新建环境变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置;

第三步:在MATLAB命令行内运行命令setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号; 最后,重启一下MATLAB;

相关文章
相关标签/搜索