LLVM 框架提供多种下载方式:
LLVM Download Page (官方网站): https://releases.llvm.org/
LLVM GitHub Release (GitHub 发行版): https://github.com/llvm/llvm-project/releases
LLVM For Debian (Debian 下载链接): https://apt.llvm.org/
本文将应用 LLVM Debian 主动下载安装脚本, 如下图所示
倡议: 下载安装时应该指定具体的 LLVM 版本号, 不要应用最新版本.
示例: 对于 LLVM-18, 应该应用如下 Bash 命令进行下载安装.
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18 all
装置实现后, 应该在 /usr/bin
目录下见到相似的文件名:
ls /usr/bin
这些带有 -18
后缀的可执行文件都是 LLVM 框架的一部分, 兴许某个时候你会用到它们, 但兴许永远都不会用到.
为了使用方便, 咱们能够给这些文件增加硬连贯:
ln /usr/bin/FileCheck-18 /usr/bin/FileCheck
ln /usr/bin/clang-18 /usr/bin/clang
ln /usr/bin/clang++-18 /usr/bin/clang++
ln /usr/bin/llvm-as-18 /usr/bin/llvm-as
ln /usr/bin/llvm-dis-18 /usr/bin/llvm-dis
ln /usr/bin/llvm-link-18 /usr/bin/llvm-link
ln /usr/bin/llc-18 /usr/bin/llc
ln /usr/bin/lli-18 /usr/bin/lli
这样就能够通过 clang example.c
的形式运行名为 example.c
的 C 语言文件了.
坑
LLVM 并不会被动装置它须要依赖的所有软件包 , 因而咱们须要手动装置一些货色, 上面是我遇到过的一些报错:
Lit
Lit 是 LLVM 用于测试的组件, 然而它竟然并不集成在 LLVM 框架外面, 所以须要通过 Python 独自下载.
apt install -y pipx
pipx install lit
ZSTD
Could NOT find ZSTD (missing: ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
解决方案:
apt install -y libzstd-dev libdwarf-dev
ZLIB
[cmake] CMake Error at /usr/lib/llvm-18/lib/cmake/llvm/LLVMExports.cmake:73 (set_target_properties):
[cmake] The link interface of target "LLVMSupport" contains:
[cmake]
[cmake] ZLIB::ZLIB
[cmake]
[cmake] but the target was not found. Possible reasons include:
[cmake]
[cmake] * There is a typo in the target name.
[cmake] * A find_package call is missing for an IMPORTED target.
[cmake] * An ALIAS target is missing.
[cmake]
[cmake] Call Stack (most recent call first):
[cmake] /usr/lib/llvm-18/cmake/LLVMConfig.cmake:369 (include)
[cmake] CMakeLists.txt:25 (find_package)
解决方案:
apt install -y zlib1g-dev
libedit
解决方案:
apt install -y libedit-dev