序言:我在写这篇文章的过程中找到了一个解决方案,这个问题是一个PITA并且有一个复杂的解决方案。因此,我觉得有必要离开这里帮助任何有这个问题的穷人。
我是MatLab的新手,我也不经常使用Visual C ++,所以请原谅我,如果这应该是非常明显的。
简短版本:我的计算机上安装了Visual C ++ 2013,但是当我运行mex -setup c++
时,mex无法找到它。我得到以下内容:
>>mex -setup cxx
使用mex时出错
未找到支持的编译器或SDK。您可以安装免费的 MinGW-w64 C / C ++编译器;请参阅安装MinGW-w64编译器。有关更多选项,请参阅 http://www.mathworks.com/support/compilers/R2015b/win64.html
以下是完整的情况。
我最初运行的是Visual Studio 2015,mex发现编译器就好了。但是,我很快发现Simulink与VS 2015不兼容,所以我不得不回到VS 2013,这就是我的问题开始的时候。
我已经尝试过以下网站以寻找解决方案:
mex
用法。然后我走了一个兔子洞。
A very protracted mathworks.com answer that suggested other links。这导致我......
Another mathworks.com answer这听起来像我的问题,并建议修补我的设置。事实证明我没有安装SDK 7.1。所以,我去安装,并得到了这个错误:
无法安装某些组件。某些Windows SDK组件需要RTM .NET Framework 4 ...
This Stack Overflow question询问此问题,并且针对已安装的.NET Framework,我遇到了Danilo Gadêlha完全相同的问题。
我尝试了top answer,在删除了我能找到的任何版本的.NET框架的每一个引用之后,包括那些" Windows Features",I仍然无法安装。
我尝试了next option,即使在安全模式下,RegEdit也不会让我更改下一个答案建议的值,所以这是一个破产。
最后,我尝试了MandM's solution,其中终于解决了我的问题链。
答案 0 :(得分:3)
我认为这是我的问题的根源:当我卸载Visual Studio 2015并安装Visual Studio 2013时,安装或注册表设置处于错误状态,并且mex无法找到Visual Studio 2013。
对我有用的解决方案:
卸载以下内容:
- " Microsoft Visual C ++ 2010 x64 Redistributable"
- " Microsoft Visual C ++ 2010 x86 Redistributable"
在安装Windows 7.1 SDK之前,安装包会在安装过程中重新安装这两个。
正如Robert Važan在评论中指出的那样:
如果此解决方法仍然存在错误消息,请单击“确定”继续安装。这次装置会成功..
我确实收到了此错误,但安装工作正常。