CentOS 7 編譯安裝clang+llvm

天在CentOS上將最新版本的LLVM套件(LLVM,Clang和Libc++)編譯安裝好了,中間遇到了很多問題。雖然已經有不少博客介紹如何編譯安裝LLVM了,可是根據我本身親身體驗的狀況來看,仍是有地方須要注意的,也有東西值得跟你們分享一下。html

 

下面開始:c++

首先從http://releases.llvm.org/download.html#4.0.1這邊下載最新的版本。若是從SVN下載代碼的話,已是5.0的開發版本了。若是須要使用穩定版本,推薦本身下載4.0.1的代碼包,須要下載4個文件:bash

LLVM source codeui

Clang source codegoogle

Clang Tools Extra source codespa

Compiler RT source codecode

下載好了之後,四個壓縮包都解壓出來,獲得四個目錄:htm

llvm-4.0.1.srcblog

cfe-4.0.1.srcci

clang-tools-extra-4.0.1.src

compiler-rt-4.0.1.src

而後按下面的步驟組織:

mv cfe-4.0.1.src clang
mv clang/ llvm-4.0.1.src/tools/

mv clang-tools-extra-4.0.1.src extra
mv extra/ llvm-4.0.1.src/tools/clang/

mv compiler-rt-4.0.1.src compiler-rt
mv compiler-rt llvm-4.0.1.src/projects/

這樣之後clang,clang-tools-extra和compiler-rt就能夠和llvm一塊兒編譯了。

在llvm-4.0.1.src同一層目錄上新建個目錄build-4.0.1並進入:

mkdir build-4.0.1
cd build-4.0.1

而後Configure and build LLVM and Clang:

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/clang -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On ../llvm-4.0.1.src/
  • -DCMAKE_INSTALL_PREFIX=directory — Specify for directory the full pathname of where you want the LLVM tools and libraries to be installed (default /usr/local).
  • -DCMAKE_BUILD_TYPE=type — Valid options for type are Debug, Release, RelWithDebInfo, and MinSizeRel. Default is Debug.
  • -DLLVM_ENABLE_ASSERTIONS=On — Compile with assertion checks enabled (default is Yes for Debug builds, No for all other build types).

注意 : 這後兩個選項推薦你們加上 ,不然會產生巨大的文件,我第一次編譯的時候,沒有加上這兩個選項,編譯出來的結果多大 9.4G (夠嚇人的吧?把個人磁盤都耗盡了,還報錯,google了很久才發現是磁盤空間不夠) ,耗時超過一個半小時。

而後make:

make -j 4
  • The default target (i.e. make) will build all of LLVM
  • The check-all target (i.e. make check-all) will run the regression tests to ensure everything is in working order.
  • CMake will generate build targets for each tool and library, and most LLVM sub-projects generate their own check-<project> target.
  • Running a serial build will be slow. Make sure you run a parallel build; for make, use make -j.

儘可能把幾個核都用上,加快編譯速度。

而後make install:

sudo make install

最後,由於是按照本身指定的路徑安裝,因此須要添加環境變量。

echo "export PATH=$PATH:/usr/local/clang/bin" >> /etc/bashrc
. /etc/bashrc 

 

安裝過程主要參考這幾篇文章:

http://clang.llvm.org/get_started.html

http://llvm.org/docs/GettingStarted.html#checkout

http://www.cnblogs.com/Frandy/archive/2012/10/20/llvm_clang_libcxx_cxx11.html

http://www.cnblogs.com/ralphjzhang/archive/2011/12/02/2272671.html

http://www.tuicool.com/articles/ZBveeu

相關文章
相關標籤/搜索