Matlab2017a出现错误使用 mex 未找到支持的编译器或 SDK。

本人使用老古董Matlab 2017a,在需要使用SVM包时,需要使用Matlab调用C++编译器,但是出现了如下错误:

>> mex -setup -v
详细模式已开。
... 正在查找编译器 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1 (C)'...
... 正在查找环境变量 'ICPP_COMPILER14'...否。
... 正在查找环境变量 'ICPP_COMPILER13'...否。
找不到已安装的编译器 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1 (C)'... 正在查找编译器 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 (C)'...
... 正在查找环境变量 'ICPP_COMPILER14'...否。
... 正在查找环境变量 'ICPP_COMPILER13'...否。
找不到已安装的编译器 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012 (C)'... 正在查找编译器 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013 (C)'...
... 正在查找环境变量 'ICPP_COMPILER14'...否。
... 正在查找环境变量 'ICPP_COMPILER13'...否。
找不到已安装的编译器 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2015 with Microsoft SDK 7.1 (C)'...
... 正在查找环境变量 'ICPP_COMPILER15'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2015 with Microsoft SDK 7.1 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2012 (C)'...
... 正在查找环境变量 'ICPP_COMPILER15'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2012 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2013 (C)'...
... 正在查找环境变量 'ICPP_COMPILER15'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2013 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2015 (C)'...
... 正在查找环境变量 'ICPP_COMPILER15'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2015 with Microsoft Visual Studio 2015 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2016 with Microsoft SDK 7.1 (C)'...
... 正在查找环境变量 'ICPP_COMPILER16'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2016 with Microsoft SDK 7.1 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2012 (C)'...
... 正在查找环境变量 'ICPP_COMPILER16'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2012 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2013 (C)'...
... 正在查找环境变量 'ICPP_COMPILER16'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2013 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2015 (C)'...
... 正在查找环境变量 'ICPP_COMPILER16'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2016 with Microsoft Visual Studio 2015 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2017 with Microsoft SDK 7.1 (C)'...
... 正在查找环境变量 'ICPP_COMPILER17'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2017 with Microsoft SDK 7.1 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2012 (C)'...
... 正在查找环境变量 'ICPP_COMPILER17'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2012 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2013 (C)'...
... 正在查找环境变量 'ICPP_COMPILER17'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2013 (C)'... 正在查找编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2015 (C)'...
... 正在查找环境变量 'ICPP_COMPILER17'...否。
找不到已安装的编译器 'Intel Parallel Studio XE 2017 with Microsoft Visual Studio 2015 (C)'... 正在查找编译器 'MinGW64 Compiler (C)'...
... 正在查找环境变量 'MW_MINGW64_LOC'...否。
找不到已安装的编译器 'MinGW64 Compiler (C)'... 正在查找编译器 'Microsoft Visual C++ 2012 (C)'...
... 正在查找注册表设置 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0...否。
... 正在查找注册表设置 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0...否。
找不到已安装的编译器 'Microsoft Visual C++ 2012 (C)'... 正在查找编译器 'Microsoft Visual C++ 2013 Professional (C)'...
... 正在查找注册表设置 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0...否。
... 正在查找注册表设置 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0...否。
找不到已安装的编译器 'Microsoft Visual C++ 2013 Professional (C)'... 正在查找编译器 'Microsoft Visual C++ 2015 Professional (C)'...
... 正在查找注册表设置 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
... 正在查找注册表设置 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
... 正在查找注册表设置 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 14.0...否。
找不到已安装的编译器 'Microsoft Visual C++ 2015 Professional (C)'... 正在查找编译器 'Microsoft Windows SDK 7.1 (C)'...
... 正在查找注册表设置 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder...否。
... 正在查找注册表设置 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder...否。
找不到已安装的编译器 'Microsoft Windows SDK 7.1 (C)'。
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问
http://www.mathworks.com/support/compilers/R2017a/

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

一顿寻找,后发现用最简捷的方式解决了,灵药来自于:
链接:https://blog.csdn.net/u010129349/article/details/81515298

解决只需3步

Step 1. 下载 MinGW-w64 C/C++ 编译器,exe文件在阿里云
Step 2. 安装 MinGW-w64 C/C++ 编译器
Step 3 安装完成后,打开Matlab,输入setenv(‘MW_MINGW64_LOC’,‘G:\TDM-GCC-64’), 然后在输入mex -setup就完成了。;[改为自己的路径]

之后再次打开Matlab,输入mex -setup 选择 "mex -setup C++ " 即可

>> mex -setup
MEX 配置为使用 'MinGW64 Compiler (C)' 以进行 C 语言编译。
警告: MATLAB CFortran API 已更改,现可支持
	 包含 2^32-1 个以上元素的 MATLAB 变量。您需要
	 更新代码以利用新的 API。
	 您可以在以下网址找到更多的相关信息:
	 http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

要选择不同的语言,请从以下选项中选择一种命令:
 mex -setup C++ 
 mex -setup FORTRAN
MEX 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。
警告: MATLAB CFortran API 已更改,现可支持
	 包含 2^32-1 个以上元素的 MATLAB 变量。您需要
	 更新代码以利用新的 API。
	 您可以在以下网址找到更多的相关信息:
	 http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

版权声明:本文为jerry003原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。