王锐
发布于 2024-08-23 / 121 阅读
0
0

Ubuntu下如何源码编译安装LLVM

一、安装依赖项

Ubuntu下安装如下依赖或工具

sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build git python3 zlib1g-dev libncurses5-dev libssl-dev
  • build-essential: 包含编译 C++ 源代码所需的基本工具。

  • cmake: 用于生成编译文件的构建工具。

Windows下需要推荐使用minGW编译,minGW中安装如下依赖库或工具

pacman -Syu
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-ninja
pacman -S git
pacman -S mingw-w64-x86_64-python
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-ncurses
pacman -S mingw-w64-x86_64-openssl

二、克隆 LLVM 源代码

git clone https://github.com/llvm/llvm-project.git
cd llvm-project

三、创建build目录并进入配置构建项

mkdir build
cd build
cmake -G "Ninja" \
  -DCMAKE_CXX_FLAGS="-frtti" \
  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_TARGETS_TO_BUILD="X86" \
  -DLLVM_ENABLE_RTTI=ON \
  ../llvm

note: 由于我需要使用clang的ast(抽象语法树)的功能,因此必须使能rtti模块,cmake中使能-DLLVM_ENABLE_RTTI=ON可能没有用,因此使用-DCMAKE_CXX_FLAGS="-frtti"来强制保证开启了rtti。

四、编译并安装

ninja -j$(nproc)     // 其中nproc指定并行bian编译cpu数
sudo ninja install -j$(nproc)

五、验证安装

llvm-config --version
clang --version


评论