MinGW是Minimalist GNU for Windows的缩写,是把linux下的GNU开发工具包移植到windows的项目之一。和Cygwin不一样的是,MinGW不提供linux的posix运行系统的模拟层,而是直接使用windows的运行库,因而开发的windows的程序可以说是原生的,这样就方便了项目的移植,程序的运行效率也要比Cygwin高,而Cygwin本身很多的DLL也是使用MinGW来编译的。
MinGW包含几个包:
MinGW —— GCC的编译套件
MSYS —— UNIX命令行工具
msysDTK —— MSYS的开发工具包
mingwPORT —— 用于移植GNU项目到MinGW的工具包
在MinGW编译套件中又包含:
mingw-runtime —— 运行支持的头文件和库文件
w32api —— windows API的头文件和库文件
gcc-core —— C编译器
gcc-g++ —— C++的编译器
gcc-objc —— objective c的编译器
gcc-gfortran ——fortran 90/95的编译器
gcc-java —— java的编译器
gcc-ada —— ada的编译器
mingw-gdb —— GNU 调试器的windows原生编译版本
mingw32-make ——GNU make的原生编译版本
mingw-utils —— 其他的一些杂项工具
安装MinGw非常的简单,从http://www.mingw.org下载最新的安装包比如我下载的版本mingw-get-inst-20120426.exe,运行后按提示一步步安装就可以了,注意的是要选择上MSYS系统,这样才能使用MinGW shell:
安装过程中会自动从网络下载一些包文件,安装完成后在开始菜单中打开MinGw shell就到了MinGw的编译环境了,这里可以使用linux下我们熟悉的ls,cd,make等命令了,vim也是内嵌支持的,所以和在linux下没有多大的区别,非常的方便。使用mount命令我们可以看到windows盘符在系统中的对应位置,比如e:/会被mount到/e下。
在MinGW的主页上也有说到,MinGw是时下除了微软自己外(可以从微软下载免费的express版本visual studio)仅有的高质量的免费编译工具了,其他的一些免费工具都有各自的局限性比如lcc-win32只支持C、Djgpp只支持DOS32,Cygwin在GUI程序中需要使用X server等等,MinGW便成了开源项目中的最好选择了。
在http://visual-mingw.sourceforge.net/还可以找到一个MinGW的IDE开发界面,如果对命令行不习惯的话可以使用它。