據說Clang是對C++11、14標準支持最全面的編譯器,加之又是蘋果出品,於是想來研究一下
可惜我的RHEL版本比較老,是6.1,官網上的Pre-Built包沒有合適的,於是下載源碼手動編譯安裝
先決要求 gcc4.9以上版本,還好機器上以前裝過gcc6.1,修改CC和CXX環境變量指向
Python2.7以上版本,RHEL自帶python版本太老,這個需要另外安裝
根據說明http://clang.llvm.org/get_started.html
下載了llvm-3.9.0.src.tar.xz, tar xkf 解壓
下載cfe-3.9.0.src.tar.xz ,解壓,改文件夾名爲clang,放到llvm代碼目錄裏的tools下面
libcxx和libcxxabi 不是可選,必須要下載
然後離開llvm代碼目錄
新建目錄llvm_build用來編譯
cd llvm_build
版本指定Release,要不然默認是Debug
CMAKE_INSTALL_PREFIX指定安裝目錄
PYTHON_EXECUTABLE指定python路徑
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/local/python/2.7.12/bin/python -DCMAKE_INSTALL_PREFIX=/usr/local/clang/3.9.0 ../llvm-3.9.0.src
直接make太耗時,需要幾個小時,加上-j 參數並行編譯可以大幅減少時間
libcxx的編譯參考如下,網上的方法沒試通
code::blocks裏有llvm項目類型,但是編譯器路徑需要配置一下 Setting->Compiler