Matlab mex -setup 找不到编译器

在Matlab中使用mex编译使用 c/c++ ,首先要设置编译器,mex -setup.

但是有时候会遇到找不到编译器的错误,错误原因有很多。我的电脑上先安装Matlab 2016b,后安装的visual studio 2013,所以Matlab找不到编译器。可以卸载掉Matlab然后重新安装,就可以了。但是那要很长时间。 
其实可以直接修改下配置文件,来指定编译器的位置。

尝试在官网上下载神马安装包捯饬了好久都没有搞定~科研小白很伤心呀~万般无奈就选择了这条光明大道biubiu~

1.visual studio 2013的下载

下载地址:
  http://pan.baidu.com/s/1kT837qn

 


  文件名:cn_visual_studio_ultimate_2013_x86_dvd_3175316.iso
  
  语言:Chinese – Simplified
  
  SHA1:D6029A90916AA49F3F8F260C277DAF838DDA0612


  密钥:BWG7X-J98B3-W34RT-33B3R-JVYW9

2.安装

详见百度经验

Microsoft Visual Studio 2013的安装与激活教程

~~~~~~~~~~~~~~~~~~~甩链接~~~~~~~~~~~~~~~~~~~~~~~~~~~~

https://jingyan.baidu.com/article/92255446880460851648f429.html

PS:秘钥向上看upup


3.设置matlab环境

首先打开matlab安装目录下的文件夹 
D:\Program Files\MATLAB\R2016b\bin\win64\mexopts\compilerComponents 
打开msvc90shellopts.stp 文件,把第7行的location修改为visual studio的安装目录: 
my $default_location = “D:\Program Files\Microsoft Visual Studio 12.0”; 
并且把文件里面27,52行的9.0都修改为12.0。(可以用新安装的 Visual Studio打开哦~)

这里写图片描述

参考文献和资源

[1]https://jingyan.baidu.com/article/92255446880460851648f429.html

[2]http://blog.sina.com.cn/s/blog_513be2630102v1ei.html

[3]http://blog.csdn.net/yc461515457/article/details/51635842

matlab2012b windows版在关联vs2012编译器的时候,以及无法编译dll。 原因就是matlab默认的编译器的目录配置,include目录以及lib目录配置错误造成的。 如果你的vs目录不是默认的,或者windows是32位版本,或者vs版本不是2012,或者你的mt.exe目录不在Windows kits下,那么有可能需要修改附件里面的相关目录的设置(其实就是mbuild配置cl.exe和mt.exe的目录位置,以及mex配置的include和lib的所需目录),mbuild是编译exe的,mex是编译dll的。我的另一个资源仅处理mbuild配置,未处理mex的配置,所以不能成功编译mex。如果你已经下载过我的另一个资源,请替换mexopts目录下的msvc110opts.bat文件的30和31行代码(而不必下载这个资源): set INCLUDE=%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\ATLMFC\INCLUDE;%LINKERDIR%\include\um;%LINKERDIR%\include\shared;%LINKERDIR%\include\WinRT;%INCLUDE% set LIB=%VCINSTALLDIR%\LIB\amd64;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%LINKERDIR%\lib\win8\um\x64;%MATLAB%\extern\lib\win64;%LIB% 附件里有一个word文件,是我修改的注释信息,如果需要手动修改,可以当做帮助来用. mbuild设置方法: 1 把附件相关的4个文件添加到matlab/bin/win64下面的2个相关目录 2 在matlab 里面运行 mbuild -setup, 然后选 y, 再选择2012的那个项目,再选y 3 mbuild应该成功了,此时可以编译为exe文件。 mex设置方法: 1 在matlab 里面运行 mex -setup, 然后选 y, 再选择2012的那个项目,再选y 2 mbuild应该成功了,此时可以编译为dll文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值