嚴以律己,寬以待人. 三思而后行. GMail/GTalk: yanglinbo#google.com; MSN/Email: tx7do#yahoo.com.cn; QQ: 3 0 3 3 9 6 9 2 0 .
首先,下載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可以根據SJLJ or DW2 (Dwarf-2) 異常模型來選擇需要下載的版本,通常情況下win32平臺下選擇SJLJ(set jump long jump)模型
然后還需要去Mingw官網下載binutilshttp://downloads.sourceforge.net/mingw/binutils-2.18.50-20080109-2.tar.gzmingw-runtime (mingw-runtime-3.14.tar.gz, 494KB) http://downloads.sourceforge.net/mingw/mingw-runtime-3.14.tar.gzw32api (w32api-3.11.tar.gz, 1.55MB) http://downloads.sourceforge.net/mingw/w32api-3.11.tar.gz
也可以選擇安裝以下組件mingw-utilshttp://downloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gzmingw32-make(可以選擇最新的mingw32-make-3.81-20080326-2)http://downloads.sourceforge.net/mingw/mingw32-make-3.81-2.tar.gzgdb(可以選擇最新的6.8試驗版)http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2
把這些東西都下載下來,然后解壓到不同的目錄,每個目錄里面大概都會有bin,include,lib,man這樣的目錄,要做的就是合并它們,也就是拷貝到同一個目錄里面,注意可能有些文件會重復,一般來說GCC 4.3.0 TDM包里面的文件比較重要,不要用其他的包里面的文件覆蓋了它
然后就可以得到一個完整包含gcc,g++,binutils,gdb,make等的目錄了,此時,在windows環境變量中的path變量里面添加該目錄的bin子目錄,就可以在cmd窗口中調用gcc和g++進行編譯了。如果你不想污染了環境變量,也可以寫個bat:(假設你的mingw目錄是C:\mingw\bin)set path=C:\mingw\bin;%path%"
現在還沒有結束,需要進行兩個地方的設置1 makemingw官方提供的make工具,名稱不是簡單的make,而是mingw32-make.exe,把它改名成make.exe或者復制一份為make.exe都可以
2 gcc: CreateProcess: No such file or Directory 錯誤這個問題在google里面很多人發問,但是沒有一個完整的解答,下面給出一個完整的解答產生這個錯誤有兩個原因:第一是gcc無法找到安裝目錄里面的libexec目錄里面的工具,通常這些工具包括cc1.exe,cc1plus.exe,collect2.exe,它們通常存放在:安裝目錄\libexec\gcc\mingw32\4.3.0第二是gcc無法找到mingw目錄里面binutils的工具,它們通常存放在安裝目錄\mingw32\bin這兩個目錄的名字并不完全固定,根據不同組織編譯的gcc各有不同,比如mingw官方編譯的gcc4.3.0 alpha,上述目錄就是安裝目錄\gcc\i386-pc-mingw32\4.3.0而官方提供的binutils包里面是安裝目錄\i686-pc-mingw32\bin
只要這兩個地方沒有設置好,就可能導致CreateProcess錯誤,那么,有沒有什么好辦法能夠確定這里應該怎樣命名呢?辦法是用16進制編輯器打開gcc.exe,搜索GCC_EXEC_PREFIX,當搜索到該字符串(不止一個)時,觀察后面是否出現版本號4.3.0,如果出現,后面緊接著的就是路徑,如果是mingw32那么上面的命名就應該是安裝目錄\libexec\gcc\mingw32\4.3.0安裝目錄\mingw32\bin
如果是其他的例如i686-pc-mingw32,那么名稱相應的變為安裝目錄\libexec\gcc\i686-pc-mingw32\4.3.0安裝目錄\i686-pc-mingw32\bin
好了,可以測試一下你的hallo world程序了^_^
posted on 2013-01-11 15:59 楊粼波 閱讀(788) 評論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © 楊粼波