首先,下載Mingw TDM 4.3.0版本
http://www.tdragon.net/recentgcc/
有兩種選擇
GCC 4.3.0-tdm-2 (Default SJLJ exceptions) 和 GCC 4.3.0-tdm-2 With DW2 Exceptions
可以根據(jù)SJLJ or DW2 (Dwarf-2) 異常模型來選擇需要下載的版本,通常情況下win32平臺下選擇SJLJ(set jump long jump)模型
然后還需要去Mingw官網(wǎng)下載
binutils
http://downloads.sourceforge.net/mingw/binutils-2.18.50-20080109-2.tar.gz
mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB)
http://downloads.sourceforge.net/mingw/mingw-runtime-3.14.tar.gz
w32api (w32api-3.11.tar.gz, 1.55MB)
http://downloads.sourceforge.net/mingw/w32api-3.11.tar.gz
也可以選擇安裝以下組件
mingw-utils
http://downloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz
mingw32-make(可以選擇最新的mingw32-make-3.81-20080326-2)
http://downloads.sourceforge.net/mingw/mingw32-make-3.81-2.tar.gz
gdb(可以選擇最新的6.8試驗(yàn)版)
http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2
把這些東西都下載下來,然后解壓到不同的目錄,每個(gè)目錄里面大概都會有bin,include,lib,man這樣的目錄,要做的就是合并它們,也就是拷貝到同一個(gè)目錄里面,注意可能有些文件會重復(fù),一般來說GCC 4.3.0 TDM包里面的文件比較重要,不要用其他的包里面的文件覆蓋了它
然后就可以得到一個(gè)完整包含gcc,g++,binutils,gdb,make等的目錄了,此時(shí),在windows環(huán)境變量中的path變量里面添加該目錄的bin子目錄,就可以在cmd窗口中調(diào)用gcc和g++進(jìn)行編譯了。如果你不想污染了環(huán)境變量,也可以寫個(gè)bat:(假設(shè)你的mingw目錄是C:\mingw\bin)
set path=C:\mingw\bin;%path%"
現(xiàn)在還沒有結(jié)束,需要進(jìn)行兩個(gè)地方的設(shè)置
1 make
mingw官方提供的make工具,名稱不是簡單的make,而是mingw32-make.exe,把它改名成make.exe或者復(fù)制一份為make.exe都可以
2 gcc: CreateProcess: No such file or Directory 錯(cuò)誤
這個(gè)問題在google里面很多人發(fā)問,但是沒有一個(gè)完整的解答,下面給出一個(gè)完整的解答
產(chǎn)生這個(gè)錯(cuò)誤有兩個(gè)原因:
第一是gcc無法找到安裝目錄里面的libexec目錄里面的工具,通常這些工具包括cc1.exe,cc1plus.exe,collect2.exe,它們通常存放在:
安裝目錄\libexec\gcc\mingw32\4.3.0
第二是gcc無法找到mingw目錄里面binutils的工具,它們通常存放在
安裝目錄\mingw32\bin
這兩個(gè)目錄的名字并不完全固定,根據(jù)不同組織編譯的gcc各有不同,比如mingw官方編譯的gcc4.3.0 alpha,上述目錄就是
安裝目錄\gcc\i386-pc-mingw32\4.3.0
而官方提供的binutils包里面是
安裝目錄\i686-pc-mingw32\bin
只要這兩個(gè)地方?jīng)]有設(shè)置好,就可能導(dǎo)致CreateProcess錯(cuò)誤,那么,有沒有什么好辦法能夠確定這里應(yīng)該怎樣命名呢?辦法是用16進(jìn)制編輯器打開gcc.exe,搜索GCC_EXEC_PREFIX,當(dāng)搜索到該字符串(不止一個(gè))時(shí),觀察后面是否出現(xiàn)版本號4.3.0,如果出現(xiàn),后面緊接著的就是路徑,如果是mingw32那么上面的命名就應(yīng)該是
安裝目錄\libexec\gcc\mingw32\4.3.0
安裝目錄\mingw32\bin
如果是其他的例如i686-pc-mingw32,那么名稱相應(yīng)的變?yōu)?br>安裝目錄\libexec\gcc\i686-pc-mingw32\4.3.0
安裝目錄\i686-pc-mingw32\bin
好了,可以測試一下你的hallo world程序了^_^