在MATLAB2017a中使用mex找不到编译器的问题

原创 2017年07月17日 19:33:47

安装环境:win7系统,MATLAB2017a

由于原代码是在Linux上实现的MATLAB和C++混编,所以在MATLAB中使用make函数,总是提示“找不到编译器,请安装MinGW-w64编译器”,于是为MATLAB安装MinGW-w64编译器,在安装时使用的是软件百度网盘链接:点击打开链接 密码:jexj,在安装时请直接安装在c盘目录下如果放在c:\Program Files等二级目录下在后边的运行过程中会报错,提示“c:\Program Files不是可执行代码”。安装完成后

1.添加环境变量:变量名:MW_MINGW64_LOC,值:编译器的安装路径

2.安装Gnumex,百度网盘链接:点击打开链接 密码:qo8h,安装完成后在MATLAB中点击添加路径,添加Gnumex的安装路径。

3.将MATLAB的运行路径改为Gnumex的安装路径,在MATLAB的命令窗口输入命令:gnumex,之后会弹出一个窗口,如下:


将MinGW root directory设置为MinGW-w64编译器的安装路径,path to gfortran的路径也设置为编译器安装路径,path to gnumex处的路径为gnumex的安装路径,之后点击make options file按钮。如果MinGW root directory的安装路径如上图含有C:\Program Files,会报错。所以安装编译器时一定注意安装路径。

4.最后在运行自己的make函数(里面含有mex -outdir bin/ -v CXXOPTIMFLAGS='$CXXOPTIMFLAGS -Ofast -fopenmp' LDOPTIMFLAGS='$LDOPTIMFLAGS -fopenmp' sources/c/PsycoSuperRes_interface_mex.cpp sources/c/PsycoSuperRes.cpp sources/c/Psyco.cpp命令)就不会报错了。




在安装过程中安装了各种Windows Microsoft SDK 7.1但是并不能解决找不到编译器的问题,之后又安装了TDM-GCC-64,可以找到编译器,但是在运行自己的Make函数时,总是报“ error: libgomp.spec: No such file or directory”的错误,查阅了各种资料,只看到在Linux下的一些错误说明,但是在Windows下貌似大家都没有这种错误,可能是我不理解tdm gcc和MinGW -w64两种编译器的区别吧,不过最后终于实现了曲线救国,重新安装了mingw-w64编译器,最后运行make函数通过。在此记录一下自己遇到的错误,有不当之处请大家指正。

Matlab2017a:mex问题解决

1.安装MinGW -w64 2.并不能解决问题,然后找到这个链接 点击打开链接,找到下图: 3.发现软件安装的位置错误,重新安装软件并找到 /bin,目录下配置环境变量。...
  • odefiao
  • odefiao
  • 2017-10-17 16:22:26
  • 540

MATLAB R2017a 支持Microsoft Visual Studio 2017补丁

  • 2017年04月28日 18:32
  • 11KB
  • 下载

windows平台上在matlabR2017a中编译LibSVM--VS2017

Matlab R2017a有个bug,就是在用mex编译c/c++程序的时候,如果要用vs2017的编译器(支持c++17)的时候需要打一个补丁,补丁是2017年5月才出的。 ![matlabr2...
  • u011108244
  • u011108244
  • 2017-09-20 11:31:19
  • 708

VS2015调用Matlab2017a环境配置

VS2015调用Matlab2017a环境配置说明:本机win7,64位操作系统 这句提醒我自己:一定要在Debug+x64平台下进行配置,x64,x64,x64!!!* 1.配置环境变量右键计算机...
  • bingbingshui90
  • bingbingshui90
  • 2017-07-19 14:30:42
  • 3480

Matlab2016a mex -setup出错的解决方法(VS2013)

首先说一下我的电脑配置:win7, 64位系统, VS2013, Matlab2016a 使用matlab进行mex -setup时,出现mex错误的提醒,根据错误说明,应该是说找不到VS的编译器...
  • catherine627
  • catherine627
  • 2017-04-22 17:52:07
  • 9944

matlab2017 搭配vs2015 mex 设置

matlab2017安装matconvnet-1.0-beta25 然后,运行matlab/vl_compilenn.m,结果总是提示 Error using vl_compilenn>check...
  • wuzuyu365
  • wuzuyu365
  • 2017-09-23 18:33:45
  • 3418

Matlab2017b配置C++/C/Fortan编译器的问题(已解决)

今天在配置Matlab2017编译C++代码的时候,一贯的调用mex -setup命令,结果显示没有找到任何支持的编译器或SDK。您可以安装免费的mingw-w64 c/c++编译器; 崩溃!! ...
  • sinat_38321889
  • sinat_38321889
  • 2017-11-19 18:33:20
  • 1950

Matlab2016及以上版本设置VS编译器

Matlab2016及以上版本设置VS编译器 在Matlab中使用mex可以编译c/c++ ,但是首先要设置好编译器,可以使用mex -setup命令来设置。如果电脑上是先安装的Visual Stu...
  • cztqwan
  • cztqwan
  • 2017-12-26 15:13:32
  • 3737

Matlab 2017b MinGW-w64 5.3安装

Matlab 2017b MinGW-w64 5.3安装最近在学习matlab的支持向量机的包libsvm,但是由于做matlab与C#的混合编程,不得以更换matlab版本至最新2017b,却引起很...
  • qq_22200579
  • qq_22200579
  • 2017-11-09 22:51:18
  • 1302
收藏助手
不良信息举报
您举报文章:在MATLAB2017a中使用mex找不到编译器的问题
举报原因:
原因补充:

(最多只允许输入30个字)