matlab R2016a 未找到支持的编译器或SDK 配置MinGW-w64 C/C++ 编译器

系统环境:win7(64bit)+R2016a

1. 错误描述:

在使用matlab编译C程序时,需要用mex来编译写好的C程序,这样才能在matlab中调用,其实编译好的C程序就像动态链接库。

     

                                                     

但是在命令行输入mex -setup 后呈现如下错误:

>> mex -setup

错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安 装 MinGW-w64 编译器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016a/win64.html。

2. 按照提示,安装 MinGW-w64即可。

下载网址:https://sourceforge.net/projects/tdm-gcc/

存储位置:                      

直接存在C盘根目录下,不要有子目录。matlab中文解释:http://cn.mathworks.com/help/matlab/matlab_external/compiling-c-mex-files-with-mingw.html

上面解释说TDM-GCC-64就像linux中的GCC编译器一样。网上还有许多配置matlab和visual studio的文章,不过好像容易产生问题,而且配置步骤较繁琐,所以先安装TDM-GCC-64能编译再说。

3.安装完后,在matlab命令行:

设置环境变量进入C环境:

>>setenv(‘MW_MINGW64_LOC’,’D:\TDM-GCC-64’)

'D:\TDM-GCC-64'为安装TDM-GCC-64的路径。顺便添一句,最好不要装在C盘下,否则在后期重编译时会出现 cannot open output file mex_model_f_pixel.mexw64: Permission denied 的错误,我就是采雷后换的安装路径。

如果不想每次都设置环境,就直接在系统中添加环境变量即可。变量名:MW_MINGW64_LOC,路径:D:\TDM-GCC-64。然后选择编译语言:

4.编写测试用例并编译运行

新建脚本文件,并保存为hello.c

#include <mex.h>//mex编译需要的头文件
void mexFunction(int nlhs ,mxArray *plhs[] ,int nrhs, const mxArray *prhs[])
{
    mexPrintf("Hello word!, you succeed");
}

在命令行:

>> mex hello.c
使用 'MinGW64 Compiler (C)' 编译。
MEX 已成功完成。

编译hello.c成功,运行:

>> hello()
Hello word!, you  succeed>> 

至此,matlab R2016a配置C编译器完成。

  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值