许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab R2016a未找到编译器或SDK解决方法:配置MinGW-w64 C/C++

Matlab R2016a未找到编译器或SDK解决方法:配置MinGW-w64 C/C++

阅读数 9
点赞 0
article_banner

系统环境: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’,’https://www.gofarlic.com\TDM-GCC-64’)

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

如果不想每次都设置环境,就直接在系统中添加环境变量即可。变量名:MW_MINGW64_LOC,路径:https://www.gofarlic.com\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编译器完成。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删



相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空