我怎样才能让 MatLab 找到 Visual C++ 编译器
How can I get MatLab to find the Visual C++ Compiler?
序言:我在写这篇文章的过程中找到了一个解决方案,这个问题是一个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。
以下是完整情况。
- 操作系统: 视窗 10 主页
- 编译器:Visual Studio 2013(v120,最新)
- 我
- 确认我可以使用此工具集编译和运行程序。
- MatLab 版本:2015b
我最初运行的是Visual Studio 2015,mex发现编译器很好。但是,我很快发现 Simulink 与 VS 2015 不兼容,所以我不得不回滚到 VS 2013,这就是我的问题开始的时候。
我尝试了以下网站来寻找解决方案:
- MatLab mex 文档 - 没有帮助,只显示基本的
mex
用法。 - MatLab 支持的编译器列表 - 确认 VC++ 2013 是兼容的。
然后我掉进了一个兔子洞。
-
一个非常漫长的 mathworks.com 答案,暗示了其他链接。这导致我...
-
另一个 mathworks.com 答案听起来像我的问题,并建议修补我的设置。事实证明我没有安装 SDK 7.1。所以,我去安装,并得到这个错误:
无法安装某些组件。某些 Windows SDK 组件需要 RTM .NET Framework 4...
-
这个Stack Overflow问题询问了这个问题,我遇到了Danilo Gadêlha关于已经安装的.NET Framework的完全相同的问题。
我尝试了最好的答案,在删除了我能找到的任何版本的对.NET框架的每个引用后,包括"Windows功能"下的那些,我仍然无法安装。
我尝试了下一个选项,即使在安全模式下,RegEdit 也不会让我更改下一个答案建议的值,所以这是一个失败。
最后,我尝试了MandM的解决方案,它最终解决了我的一系列问题。
时,安装或注册表设置处于不正确的状态,因此mex无法找到Visual Studio 2013。
对我有用的解决方案:
- 保持 Visual Studio 2013 安装状态。
正如曼德姆回答的那样:
卸载以下内容:
- "Microsoft Visual C++ 2010 x64 可再发行组件"
- "Microsoft Visual C++ 2010 x86 可再发行组件"
在安装 Windows 7.1 SDK 之前,安装包会在安装过程中重新安装这两个。
正如Robert Važan在评论中指出的那样:
如果尽管有此解决方法,错误消息仍然存在,只需单击"确定"并继续安装。这次安装将成功。.
我确实收到此错误,但安装工作正常。
- 安装 SDK 7.1 修补程序,该修补程序可修复此 mathworks.com 答案中突出显示的问题。
- Visual Studio 2017 无法找到 cl.exe
- Visual C :如何找到哪个标准库包含缺失的外部符号
- 如何配置 CMake,以便生成的 Visual Studio 项目找到可执行文件
- Visual Studio C++ & Boost Lib:仅当存在BOOST_FOREACH时才无法找到函数定义
- OpenGL C++g++编译器,无法在Windows 10(没有Visual Studio)上找到GLFW
- 在链接阶段期间无法通过Visual Studio远程编译找到WXWIDGETS库
- 在Visual C 中找到调用函数地址(安全)
- Visual C 如何在MySQL中找到列的名称
- Visual Studio c++如何找到给定类/方法的包含命名空间
- 找到 Visual Studio 2015 调试器在源不可用时读取符号 defs 的位置
- 在哪里可以找到 MPFR 的 Visual Studio 2008 项目构建文件?或者如何自己创建这样的构建文件
- 我怎样才能让 MatLab 找到 Visual C++ 编译器
- visual如何在C++中找到桌面路径
- 文本文件仅在Visual Studio外部运行时找到
- 如何在Visual Studio c++项目中找到iostream头文件?
- 如何在Visual Studio 2013中找到解决方案中的派生类
- 在哪里找到visual studio 2005的远程调试器
- Visual Studio在调试期间无法找到所有源代码
- Visual Studio 2013错误MS8020构建工具v140无法找到
- 如何在Visual Studio中找到特定类的重载运算符的所有引用?