解决MATLAB对VS高版本出现“错误使用 mex未找到支持的编译器或 SDK。”的问题

需要用MATLAB来编译一些C代码,但是总是无法找到编译器,网上很多教程并没有什么用,经过摸索终于成功,现予以总结,供遇到类似问题的童鞋参考。

说明:我的MATLAB是2017b,VS是2019版,其他高版本解决方法类似。

 

这种问题一般认为是先安装了MATLAB,后安装了VS所导致的,但是我们不建议重新安装MATLAB,没有那个必要。可以按照以下步骤进行尝试:

 

1. MATALB中运行mex -setup

出现问题,未找到编译器,让我安装MinGW-w64,我已经安装了VS,干嘛还要去安装什么其他编译器。

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

注意看红色框部分,MATLAB主要从注册表中读取SDK和Visual studio的安装路径,出现“否”就代表注册表或环境变量中没有相应的信息或者信息错误。因此我们可以根据具体情况修改注册表和环境变量。

3. 按WIN+R键,输入regedit,打开注册表

上图中“HKLM”代表“HKEY_LOCAL_MACHINE”,而“HKCU”代表“HKEY_CURRENT_USER”。

(1)好了,我们按照上图红框中MATLAB的提示“'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7'”先进入HKEY_LOCAL_MACHINE下的路径,发现VisualStudio下竟然没有“SxS”,我们手动添加上,并加上VS7和16.0

“16.0”的值设置为VS的目录,我的是2019社区版,所以按照上面的路径设置。

这里要注意的是要按照你的VS版本设置相应的值,比如VS2019就是16.0,千万不要和以前的版本搞混。

(2)按照MATLAB的提示“'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7'”进入HKEY_CURRENT_USER下的路径,同样加上SxS、VC7和16.0

这里“16.0”的值设置为VC的目录。

4. 进入MATLAB目录“C:\Program Files\MATLAB\R2017b\bin\win64\mexopts”下,添加两个文件“msvc2019.xml”和“msvcpp2019.xml”:(若你的版本是2017等也一样,找对应的)

文件链接:

https://download.csdn.net/download/no_say_you_know/12119043

5. MATLA中再次运行mex -setup -v

配置为“Microsoft Visual C++ 2019 (C)”编译器,成功!

  • 18
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值