MinGW手动安装
注:本文中的版本号是发表时最新的版本号,当您安装时,请安装相应的版本。
首先,建议先安装MSYS:
1、什么是MSYS?
MSYS的全称是Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,其实就是在Win上使用Linux的命令行进行操作,可以代替cmd来使用。对一些GNU的开源软件,MSYS可能是必需的,因为它们通常需要./configure然后make才能运行。我们将MSYS和MinGW配合使用就可以打造出一个Win下的GNU命令行终端和编译系统。
2、MSYS安装
MSYS可以通过自动安装包进行安装(因为MSYS的更新速度不像MinGW那样快),最新的自动安装包包含了所有的最新的MinGW组件。可以在官网http://sourceforge.net/projects/mingw直接点击Download下载最新的自动安装包,安装时只需要安装MSYS Development Toolkit即可(因为MSYS只支持gcc3,而我们需要使用最新的gcc4.6.2)。剩下的,就是等待,自动安装包会将默认把MSYS安装的C:\MinGW目录下,当然,你也可以将其安装到其他目录。
注:自动安装包的安装步骤,网上有很多文章,且方法也没有过时,可以去参考,这里就不复述,请见谅。
3、安装最新的MinGW
在安装完MSYS后,我们需要安装MinGW。为了安装最新版的MinGW,我们需要手动安装。Source Forge官网提供的MinGW自动安装包安装的版本会比最新版本晚。
首先,你需要7-zip,用来解压gcc的lzma压缩包。
其次,下载MinGW的必须组件:
下载Home / MinGW / Base / binutils /目录下的:binutils-2.22-1-mingw32-bin.tar.lzma;
下载Home / MinGW / Base / gcc / Version4 /下的:gcc-core-4.6.2-1-mingw32-bin.tar.lzma;
下载Home / MinGW / Base / mingw-rt /下的:mingwrt-3.20-mingw32-dev.tar.gz;
下载Home / MinGW / Base / w32api /下的:w32api-3.17-2-mingw32-dev.tar.lzma。
接下来,安装三个必须的库文件:
Home / MinGW / Base / mpfr /下的libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma;
Home / MinGW / Base / mpc /下的libmpc-0.8.1-1-mingw32-dll-2.tar.lzma;
Home / MinGW / Base / gmp /下的libgmp-5.0.1-1-mingw32-dll-10.tar.lzma。
将以上七个文件全部解压到一个文件夹中,其中会含有tar文件,再将这些tar文件解压到一个文件夹中,并将这个文件夹命名为MinGW。将其与安装MSYS时产生的MinGW文件夹合并,然后将C:\MinGW\bin和C:\MinGW\libexec\gcc\mingw32\4.6.2添加到环境变量中(环境变量的添加请参考这里的1.2.1节。)
至此,最基本的MinGW就安装完成了(C++自动包含在内)。
接下来,安装gdb和make:
下载Home / MinGW / Extension / gdb /下的gdb-7.4-2-mingw32-bin.tar.lzma;
下载Home / MinGW / Extension / make /下 的:make-3.82-5-mingw32-bin.tar.lzma;
同样,解压,合并到MinGW下的文件夹,需要注意的是,gdb还需需要用到两个包,所以请到
Home / MinGW / Base / libiconv /下的libiconv-1.14-2-mingw32-dll-2.tar.lzma;
Home / MinGW / Base / gettext 下的libintl-0.18.1.1-2-mingw32-dll-8.tar.lzma。
最后到Home / MinGW / Base / gcc / Version4 /下的libstdc++-4.6.2-1-mingw32-dll-6.tar.lzma,这是标准C++的函数库。将这些文件的dll放到MinGW的bin文件夹中,至此,标准的C/C++编译环境已经搭建完成。
关于Home / MinGW / Base /下各组件的解释:
binutils:MinGW的汇编器和连接器等基础工具;
gettext:GNU国际化与本地化(i18n)函数库;
libiconv:Unicode与其他编码的编码转换库;
Pthread:一套通用的线程库;
mingwrt:MinGW的Runtime;
w32api:win32的API函数的头文件和函数库;
mpc:复数运算库;
gcc:含有多种语言的编译器,其中gcc-core含有C/C++编译器,必须安装。其他语言编译器的根据自己的需要进行安装;
mpfr:高精度的浮点运算库;
gmp:高精度数学函数库;