源码编译 clang | C & C++

从源码编译 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 后端

  1. command + shift + p
  2. 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

作者

zhongtian

发布于

2020-08-09

更新于

2023-12-16

许可协议

评论