CentOS7.3中编译clangd
CentOS7.3中编译clangd
在CentOS7.3中进行C++的开发,使用VSCode的WSL模式,需要在CentOS中安装clangd,从GitHub官方发布版本下载的clangd是需要依赖GLIBC2.18的,这样就需要在CentOS中编译GLIBC2.18,这个编译也挺方便,挺快的,就是担心这个基础lib升级后对程序的运行结果产生影响,为了保险起见,还是在原生的CentOS7.3的GLIBC2.17的基础上重新编译一个clangd比较好。整个编译过程是比较慢的,需要好几个小时。
下载源代码
git clone --depth 1 https://github.com/llvm/llvm-project.git
依赖
CMake >=3.13.4 Makefile/workspace generator
GCC >=7.1.0 C/C++ compiler1
python >=3.6 Automated test suite2
zlib >=1.2.3.4 Compression library3
GNU Make 3.79, 3.79.1 Makefile/build processor4
- CMake 可以直接下载 https://cmake.org/files/v3.24/
- GCC 7.1.0
通过scl来安装:
rpm -Uvh --force http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc*
scl enable devtoolset-8 bash
gcc --version
- python 3.6
yum install -y python3
- zlib 1.2.7
yum install -y zlib
- GNU Make
make比Ninja速度要慢很多,所以,推荐使用Ninja,特别小,可以从GitHub下载:https://github.com/ninja-build/ninja/releases
编译
# 进入拷贝项目的根目录,如:cd llvm-project
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra' ../llvm
cmake --build . --target clangd
这样就会在bin/目录中编译好clangd了,clangd是一个单程序应用,特别方便,拷贝clangd就可以到其他的系统中去使用了。