在Matlab中使用mex可以编译c/c++ ,但是首先要设置好编译器,可以使用mex -setup命令来设置。但在命令行中输入mex -setup时,报错:(错误使用 mex 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译
器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2016a/win64.html。)
按照提示的可以下载MinGW-w64 C/C++,下载后进行安装。但是若是我们已经安装了VS,则可以用下面的方法。
由于Matlab从2016版本以后使用xml文件来保存配置文件,所以如果使用的Matlab是2016以前的版本,方法可能和本文有所区别。(本文以Matlab2016a和Visual Studio2017为例)我已经安装了VS2017版本,但是我是先安装的matlab后安装的Visual Studio,或者其它一些原因,mex -setup命令无法找到安装好的Visual Studio编译器,仍然报同样的错误,那么就需要进行一些修改才能成功设置编译器了。
在Matlab的安装目录\bin\win64\mexopts(比如我的:E:\Matlab2016a\bin\win64\mexopts)目录中有各种编译器的配置文件,Matlab就是依靠这些xml文件和编译器建立关联,打开文件,查看你的matlab支持的VS版本是否包含你安装的VS版本。
你的错误可能是matlab 根本就找不到VS,原因就是matlab根本就不支持VS20xx(比如matlab2016a支持的最高版本就到2015,如下图,红框的部分是我在网上下载的支持文件。)