下载源码
1)下载llvm的源代码
1 2 3 | wget -c http://llvm.org/releases/7.0.0/llvm-7.0.0.src.tar.xz tar xf llvm-7.0.0.src.tar.xz mv llvm-7.0.0.src llvm |
2)下载clang的源代码,然后配置工具
1 2 3 4 | cd llvm/tools wget -c http://llvm.org/releases/7.0.0/cfe-7.0.0.src.tar.xz tar xf cfe-7.0.0.src.tar.xz mv cfe-7.0.0.src clang |
3)下载compiler-rt的源代码
1 2 3 4 | cd ../projects wget -c http://llvm.org/releases/7.0.0/compiler-rt-7.0.0.src.tar.xz tar xf compiler-rt-7.0.0.src.tar.xz mv compiler-rt-7.0.0.src compiler-rt |
编译安装
先返回到../llvm目录下,新建一个build目录
mkdir build
使用cmake得到makefile
cd build cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_INSTALL_PREFIX=/opt/llvm ..
上面的-CMAKE_INSTALL_PREDIX=/opt/llvm 表示要安装的目录
得到Makefiile文件之后几可以进行编译和安装了
make -j 8 sudo make install
配置环境变量
sudo vi /etc/profile export LD_LIBRARY_PATH=/opt/llvm/lib/ export PATH=$PATH:/opt/llvm/bin
/opt/llvm/lib/指的是动态库文件夹所在位置。即xxx.so等文件在/opt/llvm/lib/下
编辑完成,保存编辑并退出,如下:
:wq!
使配置即时生效:
source /etc/profile
验证
$ clang --version clang version 7.0.0 (tags/RELEASE_700/final) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir:/opt/llvm/bin
在python中调用
pip install clang python import clang