从源码编译 clang,clang 可以用于 VS Code 后端以及支持 clang-format。
下载代码
从官网这边下载源代码,包括以下四个文件:
- LLVM source code
- Clang source code
- Clang Tools Extra source code
- Compiler RT source code
注:可以在官网下载到的且支持 gcc 4.8.5 的 llvm 最高版本为 8.0.1。
组织代码
按照如下方式组织代码:
1 2 3 4 5 6 7 8
| mv cfe-8.0.1.src clang mv clang llvm-8.0.1.src/tools
mv clang-tools-extra-8.0.1.src extra mv extra llvm-8.0.1.src/tools/clang
mv compiler-rt-8.0.1.src compiler-rt mv compiler-rt llvm-8.0.1.src/projects
|
这样 clang、clang-tools-extra、compiler-rt 就可以和 llvm 一起编译了。
编译
1 2 3 4 5 6 7 8 9 10 11
| cd llvm-8.0.1.src
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/clang -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=On ..
make -j`nproc`
make install
|
导入环境变量
1
| export PATH=$PATH:/usr/local/clang/bin
|
配置 VSCode 后端
- command + shift + p
- Edit Configurations (JSON)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/usr/local/clang/bin/clang", "intelliSenseMode": "clang-x64", "configurationProvider": "ms-vscode.cmake-tools" } ], "version": 4 }
|
参考
CentOS 7 编译安装clang+llvm