MinGW: Minimalist GNU for Windows,是GNU开发环境在Windows下的一个移植。而MSYS则是与MinGW配套的一个shell环境以及相关的工具程序。

安装方法如下:

  1. 安装MSYS

    到MinGW的主页下载MSYS的最新版本:http://www.mingw.org/download.shtml

    下载列表中的 Current - MSYS 即为 MSYS 的安装程序,下载其二进制版本(bin),并将其安装到 C:\msys\1.0 下。

  2. 安装MinGW的主要开发工具

    首先安装gcc-3.4.2。从刚才的下载页面的Current - GCC下载最新版的gcc的二进制版本:gcc-core-3.4.2-20040916-1.tar.gz。下载之后,将所有文件解压缩到 C:\msys\1.0\mingw 下。

    然后安装其他的开发工具:

    • bison-2.0-MSYS.tar.gz
    • msys-autoconf-2.59.tar.bz2
    • msys-automake-1.8.2.tar.bz2
    • msys-libtool-1.5.tar.bz2
    • mingw-runtime-3.9.tar.gz
    • mingw-utils-0.3.tar.gz
    • tcltk-8.4.1-1.exe
    • w32api-3.6.tar.gz
    • binutils-2.15.91-20040904-1.tar.gz
    • gdb-5.2.1-1.exe
    • mingw32-make-3.80.0-3.exe
    • msysDTK-1.0.1.exe

    以上软件包都提供了源代码版(src)和二进制版(bin),下载二进制版本即可。如果是压缩包(tar.gz或者tar.bz2),则将其解压至 C:\msys\1.0\mingw。msysDTK-1.0.1.exe安装至 C:\msys\1.0;gdb-5.2.1-1.exe和tcltk-8.4.1-1.exe安装至 C:\msys\1.0\mingw。

    注意:不要试图将开发工具安装至其他目录例如 /usr/local,一定要安装到 /mingw下,因为gcc使用绝对路径链接了/mingw/lib下的库文件。

  3. 修改配置文件

    安装完毕后即可通过 开始菜单-程序-MinGW-MSYS 来启动MSYS。可以看到界面不是很美观。为了美化界面和简化操作,我们对配置文件进行以下修改。

    修改 /etc/profile (Windows路径为 C:\msys\1.0\etc\profile),在其末尾添加如下几行:

     export PS1='[\u@msys \W]$ '
     export PS2='> '
     export PS4='+ '
     export LANG=en
        
     alias l='/bin/ls --show-control-chars --color=tty'
     alias la='/bin/ls -aF --show-control-chars --color=tty'
     alias ll='/bin/ls -alF --show-control-chars --color=tty'
     alias ls='/bin/ls --show-control-chars -F --color=tty'
    

    如果你的机器上同时安装有cygwin,为了避免两者的PATH环境变量冲突而造成应用程序版本混乱,可以在/etc/profile末尾再添加如下的内容:

     export PATH=.:/usr/local/bin:/mingw/bin:/bin
    

    然后修改 C:\msys\1.0\msys.bat,找到 :startrxvt 一节,修改其中的各项参数以改变默认的字体和配色。我的配置如下:

     rem If you don't want to use rxvt then rename the file rxvt.exe to something
     rem else.  Then sh.exe will be used instead.
     :startrxvt
        
     rem Setup the default colors for rxvt.
     if "x%MSYSBGCOLOR%" == "x" set MSYSBGCOLOR=White
     if "x%MSYSFGCOLOR%" == "x" set MSYSFGCOLOR=Black
     if "x%MINGW32BGCOLOR%" == "x" set MINGW32BGCOLOR=Black
     if "x%MINGW32FGCOLOR%" == "x" set MINGW32FGCOLOR=White
     if "%MSYSTEM%" == "MSYS" set BGCOLOR=%MSYSBGCOLOR%
     if "%MSYSTEM%" == "MSYS" set FGCOLOR=%MSYSFGCOLOR%
     if "%MSYSTEM%" == "MINGW32" set BGCOLOR=%MINGW32BGCOLOR%
     if "%MSYSTEM%" == "MINGW32" set FGCOLOR=%MINGW32FGCOLOR%
        
     start rxvt -backspacekey ^H -sl 2500 -fg %FGCOLOR% -bg %BGCOLOR% -sr -fn "MS Gothic"-12 -tn msys -geometry 260x80 -e /bin/sh --login -i
     exit