構建Clang(windows MinGW,clang3.2(G++))

jopen 12年前發布 | 58K 次閱讀 Clang

作為一個開發人員,開發工具是很重要的幫手,這里,我要給大家介紹的是如何在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(windows MinGW,clang3.2(G++))

如果沒有錯誤最后編譯成功

這里講一下,如果用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,運行腳本就可以通過控制臺編程了 

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!