乐趣区

关于c++:LLVM-Debian-Ubuntu-下载安装

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
退出移动版