構建Clang(windows MinGW,clang3.2(G++))
作為一個開發人員,開發工具是很重要的幫手,這里,我要給大家介紹的是如何在Windows上構建你的Clang,并且配置好。
首先 你要獲得Clang的源代碼,如果你要從源碼庫獲取源代碼,建議安裝 svn ,Tortoisesvn在Windows上是很好用的svn之一,而且你可以下載中文語言包。
你可以從http://llvm.org/svn/llvm-project/ 克隆你需要的模塊,cfe是clang的目錄 trunk是主干,tags是分支,穩定版本都在tags中,如clang 3.2最終代碼就是http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_32/final/這個目錄
你也可以從http://llvm.org/releases/3.2/下載源代碼,已經打包了的。
當然你也可以直接下載已經編譯好的包。
你需要得到的有 LLVM,Clang,Compiler-RT,各自解壓,將Clang的源代碼移動到LLVM\tools,將Compiler-RT的源代碼移動到llvm\Projects,
建議你使用MinGW編譯,如果使用VisualStudio編譯還要安裝GnuWin工具。而且建議使用官方的MinGW,其他的版本有些工具無法使用或使用導致錯誤。
http://mingw.org/
我將MinGW安裝在D盤,配置好了以后,你可以選擇下載舊版本的LLVM/Clang自舉一下,不過自舉可不一定成功。
配置好了Mingw,修改llvm\tools\clang\lib\Frontend\InitHeaderSearch.cpp 324行(左右) 修改默認Mingw目錄(里面是c:/mingw/)
運行Mintty終端切換到llvm目錄
./configure --enable-optimized --disable-assertions
漫長等待 .......
如果沒有錯誤就繼續
make
如果沒有錯誤最后編譯成功
這里講一下,如果用clang來自舉會出現問題,ld鏈接器和clang++兼容存在一點點問題,
LLVM Bug http://llvm.org/bugs/show_bug.cgi?id=14663 點擊進入
如果要clang自舉 先要用gcc編譯clang3.2 安裝好后 再用clang3.2來編譯clang3.2,看起來比較復雜,不過已經成功了!3.2編譯有問題
編譯好了 兩種選擇,第一是將LLVM拷貝到Mingw目錄,這樣Clang依賴Mingw的環境,但是某些程序編譯不過去,修改源文件就是這個目的。
第二種是將gClib ,libstdc++ 分貝拷貝到llvm\include,llvm\lib\clang\[version]\include,并修改,設置一個批處理腳本
將Mingw\bin和llvm\bin添加到path,運行腳本就可以通過控制臺編程了