最近在跑别人代码(Makoto Miwa - Relation Extraction)的时候须要用到clang++,因此须要在Ubuntu上安装一下clang++。转载自:算法时空html
以前推荐的是当前版本trunk
,可是有时它在不断更新,因此最好仍是选择特定版本,这里咱们选择clang 5.0最终版,那么官网指南中可将trunk
改为tags/RELEASE_500/final
。
例如:
http://llvm.org/svn/llvm-project/llvm/trunk
能够改为:
http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_500/finalc++
1 sudo apt install subversion 2 sudo apt install cmake
CL
):1 cd ~ 2 sudo mkdir CL 3 cd CL
llvm
:1 svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_500/final llvm
clang
:1 cd llvm/tools 2 svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_500/final clang 3 cd ../..
clang
工具(可选)1 cd llvm/tools/clang/tools 2 svn co http://llvm.org/svn/llvm-project/clang-tools-extra/tags/RELEASE_500/final extra 3 cd ../../../..
Compiler-RT
(可选)1 cd llvm/projects 2 svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_500/final compiler-rt 3 cd ../..
libcxx
(绝对要下载)还有libcxxabi
(千万不要遗漏):1 cd llvm/projects 2 svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_500/final libcxx 3 svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_500/final libcxxabi 4 cd ../..
1 mkdir build 2 cd build
注意将默认的Debug模式换成Release模式.算法
1 cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../llvm 2 make 3 sudo make install
1 clang++ --help
c++11
使用libc++
编译x.cpp
并执行a.out
1 clang++ -std=c++11 -stdlib=libc++ x.cpp 2 .\a.out
x.cpp
的正确性1 clang x.cpp -fsyntax-only
x.cpp
未优化的LLVM代码1 clang x.cpp -S -emit-llvm -o -
x.cpp
通过O3
优化的LLVM代码1 clang x.cpp -S -emit-llvm -o - -O3
x.cpp
的原生机器码1 clang x.cpp -S -O3 -o -
安装完毕以后, 若是不嫌麻烦的话, 能够用clang
再编译安装一次:svn
1 CC=clang CXX=clang++ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../llvm