Windows10为Matlab安装MinGW-64
什么是MinGW
MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。
MinGW有两种版本,一种是MinGW,是最初开发的MinGW,只能开发32位的应用程序,所以现在已经停止维护了,内部的gcc版本也停在了gcc 4.8.1,而MinGW-64则是目前还在维护的一个项目,它能够开发32位和64位的应用程序。
如果对 MinGW-w64 和 VS2015 等编译器进行一下形容,那么 MinGW-w64 是手动的,而 VS2015 等编译器则是自动的。因此 MinGW-w64 的编译过程更加直观容易理解,也比较适合C语言学习。
下载MinGW-64
MinGW的官网上去下载相应的安装包,MinGW官网
需要注意的是在Windows下的安装包,官网上给出的是一个在线下载的exe文件,就是在电脑上执行后会在线从官网上下载相应的安装文件。
安装的时候的界面如下所示:
这里需要理解几个概念:
Architecture:由于我的是win10 64位,因此选择了x86_64。如果是32位电脑,需要选择i686。
Threads:这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。我只开发在 Windows 下运行的程序,所以选择了 win32 。
Exception:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。 我这里选择了 seh 。
如果之前架构选择的是i686,则选项是 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,他们都不支持 64位 。
一般不建议这样安装,因为网速的问题,大概率会安装失败。
这个时候我们选择使用压缩包解压安装,而这里的压缩包就要注意了,它的名字比较隐蔽。如下图,我们需要下载.seh
后缀结尾的文件,这个才是我们要的压缩文件。
这里一定要注意了,首先,我们需要下的是seh后缀结尾的压缩包,此外,这里我们还需要注意,在windows操作系统下,这里我们只能下载win32的那个压缩包,因为posix
是为unix,linux,mac这些一切非windows操作系统准备的MinGW,所以这里一定要下对版本,不然后面在执行源文件编译的时候就会出现莫名的一些问题。
下载之后就放到安装目录下进行解压,得到的目录如下图所示:
设置环境变量及导入Matlab
由于是解压安装的,所以需要将其相关的一些文件的目录放到系统环境变量PATH
中去,比如,我这里的安装目录为:D:\MinGW\mingw64
,所以直接打卡系统环境变量设置,找到PATH
变量,在后面加;D:\MinGW\mingw64
,不要忘记分号,然后保存即可。
之后就是在Matlab中使用MinGW,需要注意,首先得让Matlab知道我们按照的MinGW在哪,所以需要先设置Matlab的环境变量,在Matlab命令行中执行:
setenv('MW_MINGW64_LOC','D:\MinGW\mingw64')
然后启动,这里是编译C++:
mex -setup C++
最后的结果如下图所示:
参考:https://blog.csdn.net/iningwei/article/details/101649090