源码编译 clang | C & C++
本文最后更新于:2022年6月28日
从源码编译 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。
组织代码
按照如下方式组织代码:
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 一起编译了。
编译
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
导入环境变量
export PATH=$PATH:/usr/local/clang/bin
配置 VSCode 后端
- command + shift + p
- Edit Configurations (JSON)
{
"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
}
参考
评论系统采用 utterances ,加载有延迟,请稍等片刻。