完美解决matlab“错误使用 mex未找到支持的编译器或 SDK。”的问题

完美解决matlab“错误使用 mex未找到支持的编译器或 SDK。”的问题

1.需求和遇到的问题

需要在matlab中使用或者调用opencv函数,在网上找了一大圈,大致由两种解决方法:

  1. 编译mexw64文件:将c或者c++的程序按照符合matlab接口的规则进行编写,然后用mex进行编译。这种方法对于需要引用库的函数也适用,但是看上去挺复杂的。
  2. 编译mexopencv: 编译matlab版本的opencv即可在matlab中调用opencv的函数了。

但是这两种方法的前提都是能够正常启用“ mex -setup”。

 mex -setup

于是本人遇到了这个问题:

错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64
编译器。有关更多选项,请访问http://www.mathworks.com/support/compilers/R2016a/win64.html。

关于这个问题,网上也有很多解决方案。但是如果自己电脑上已经有编译器了(比如装了vs2017),不建议重新装编译器,更不建议将matlab卸载了重新安装。
因为有更简单且治标又治本的方法

2. 问题解决方法

打开matlab安装路径下的mexopts文件夹

F:\matlab2016\bin\win64\mexopts

里面有各种需要各种编译器的配置文件
在这里插入图片描述
找到自己编译器的相应版本!如果没有自己编译器的版本,可以去网上找了下载到这个目录下。网上找到一个大佬分享的vs2017的配置文件,链接.
在matlab命令窗口输入命令:

mex -setup -v

在这里插入图片描述
查看这个输出里面的SDK版本号自己电脑里面的是否一致,不一致的话进入.xml配置文件中改为自己电脑里面的SDK版本。
在这里插入图片描述
因为按照编译器的时候注册表里面就会有记录,所以一般不需要在注册表里面做任何更改!
这样下来就可以使用mex了。

参考

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

  • 12
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值