解决MATLAB2020B关于找不到vs2019C++编译器问题

在配置matlab深度学习环境过程中,出现找不到vs219C++编译器问题,尝试了各种办法,还是失败,经过摸索和结合他人经验,最终成功,予以总结,供需要的朋友们参考

配置:matlab2020b、vs2019,其他版本方法类似

1.matlab中运行mex-setup

 出现问题,叫我安装MinGW-w64,但由于后面要配置MatConvNet,而MinGW-w64的c++编译器MatConvNet不支持,不得不删除。而本身电脑安装了vs2019却找不到编译器

2. MATLAB中运行mex -setup -v,进入详细模式搜索

 出现如下问题。

正在执行命令 'set "vcroot=D:\Microsoft Visual Studio\2019\Community"&for /f "delims= " %a in ('type "D:\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt"') do @if exist "D:\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\%a\bin\HostX64\x64\cl.exe" call echo %vcroot%'...否。
找不到已安装的编译器 'Microsoft Visual C++ 2019 (C)'。

解决办法:

找到MATLAB安装目录(我的安装目录是E:\matlab\matlab2020b\bin\win64),用下方链接提供的”mexopts“文件夹替换原有的”mexopts“文件夹,然后在MATLAB命令行执行mex -setup C++,即可使用VS 2019进行编译,如下图所示。

 提取码:8888

 成功解决

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
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文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值