git clone https://github.com/llvm/llvm-project.git
因为国内网络的原因,clone的时候没有反应,可以多此 Ctrl + C 重新 clone
注意:下载的cmake版本必须是 3.13.4 及以上的,否则你后面编译 llvm 会报下面的错误
CMake Error at CMakeLists.txt:3 (cmake_minimum_required): CMake 3.13.4 or higher is required. You are running version 3.10.2
如果你之前安装的cmake 版本低于 3.13.4,你需要卸载cmake,并且去 /usr/share 目录下,删掉 cmake 和 cmake+版本号 这些文件
#删除cmake sudo apt -y remove cmake
#进入/usr/share目录 cd /usr/share #先敲cmake,然后连续敲两下Tab键,查看所有cmake开头的文件 cmake #删掉 cmake 和 cmake+版本号 这些文件,这里我没有cmake+版本号的文件,你有的话要自己删掉 sudo rm -rf cmake
注意:不要使用 sudo apt install cmake 下载,这样下载的版本会很旧,一定要去官网下载
cmake官网链接
#解压 tar xf cmake-3.24.0-rc2-linux-x86_64.tar.gz #将 cmake-3.24.0-rc2-linux-x86_64 剪切到 /usr/share 目录,并且命名为 cmake-3.24.0-rc2-linux-x86_64 sudo mv cmake-3.24.0-rc2-linux-x86_64 /usr/share/cmake-3.24.0-rc2-linux-x86_64 #将 /usr/share/cmake-3.24.0-rc2-linux-x86_64/bin/cmake 软连接到 /usr/bin/ ,并且给软连接命名为 cmake,这样就能执行cmake了 sudo ln -sf /usr/share/cmake-3.24.0-rc2-linux-x86_64/bin/cmake /usr/bin/cmake cmake --version3. 下载安装python
因为Ninja编译依赖于python,所以先安装python(先下载ninja也可以)
sudo apt install python
验证安装成功
否则编译 ninja 会报错找不到 c++
sudo apt-get install gcc sudo apt-get install g++ sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-11 sudo apt install g++-11 #查看是否安装成功 ls /usr/bin/gcc* ls /usr/bin/g++* sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50 gcc --vesion g++ --version5. 下载ninja
cd ~ mkdir ninja cd ninja/ git clone https://github.com/ninja-build/ninja.git6. 编译ninja
cd ninja ./configure.py --bootstrap7. 安装 ninja
将编译好的Ninja 拷贝到 /usr/bin
sudo cp ./ninja /usr/bin
验证安装成功
ninja --version8. 编译 llvm
cd ~/llvm cd llvm-project/ mkdir build cd build/ cmake -G Ninja ../llvm -DLLVM_ENABLE_PROJECTS='mlir;clang;lldb;lld' -DLLVM_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON
最后的编译命令中的 …/llvm 指的是 build 目录上一级目录中的 llvm 目录
ninja -j16
一般会报错:虚拟内存不够(注意这里指的是内存条不够,不是磁盘不够!)
virtual memory exhausted: Cannot allocate memory9. 解决报错
关闭这个虚拟机
设置内存大小为16GB
将原来的 build 目录删掉
cd ~/llvm/llvm-project rm -rf build
重建 build 目录,重新编译
cd ~/llvm/llvm-project mkdir build cd build cmake -G Ninja ../llvm -DLLVM_ENABLE_PROJECTS=mlir -DLLVM_BUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON ninja -j811. 下载安装 vscode
创建文件夹
cd ~ mkdir llvm_test
安装 c/c++插件
打开 创建好的 llvm_test文件夹
https://godbolt.org/



