本人使用老古董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)'... ... 正在查找注册表设置 'HKLMSOFTWAREMicrosoftVisualStudioSxSVS7' 11.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREMicrosoftVisualStudioSxSVS7' 11.0...否。 ... 正在查找注册表设置 'HKLMSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 11.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 11.0...否。 找不到已安装的编译器 'Microsoft Visual C++ 2012 (C)'。 ... 正在查找编译器 'Microsoft Visual C++ 2013 Professional (C)'... ... 正在查找注册表设置 'HKLMSOFTWAREMicrosoftVisualStudioSxSVS7' 12.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREMicrosoftVisualStudioSxSVS7' 12.0...否。 ... 正在查找注册表设置 'HKLMSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 12.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 12.0...否。 找不到已安装的编译器 'Microsoft Visual C++ 2013 Professional (C)'。 ... 正在查找编译器 'Microsoft Visual C++ 2015 Professional (C)'... ... 正在查找注册表设置 'HKLMSOFTWAREMicrosoftVisualStudioSxSVS7' 14.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREMicrosoftVisualStudioSxSVS7' 14.0...否。 ... 正在查找注册表设置 'HKLMSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 14.0...否。 ... 正在查找注册表设置 'HKCUSOFTWAREWow6432NodeMicrosoftVisualStudioSxSVS7' 14.0...否。 找不到已安装的编译器 'Microsoft Visual C++ 2015 Professional (C)'。 ... 正在查找编译器 'Microsoft Windows SDK 7.1 (C)'... ... 正在查找注册表设置 'HKLMSOFTWAREMicrosoftMicrosoft SDKsWindowsv7.1' InstallationFolder...否。 ... 正在查找注册表设置 'HKLMSOFTWAREWow6432NodeMicrosoftMicrosoft SDKsWindowsv7.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
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 C 和 Fortran 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 C 和 Fortran API 已更改,现可支持 包含 2^32-1 个以上元素的 MATLAB 变量。您需要 更新代码以利用新的 API。 您可以在以下网址找到更多的相关信息: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。



