Ubuntu怎么安装LLVM和Clang

千强君_4004

千强君_4004

2026-09-29

455人浏览

原创

直接用 apt 装是最稳妥的,除非明确需要官方源外版本(如 llvm 18 或带调试符号的自定义构建),否则应避免源码编译——它耗内存、耗时间、易因 ld signal 9、cmake 版本、gcc c++11 支持或 gold 链接器缺失而失败。

ubuntu怎么安装llvm和clang

直接用 apt 装是最稳妥的,除非你明确需要某个不在 Ubuntu 官方源里的版本(比如 LLVM 18 或带调试符号的自定义构建),否则别碰源码编译——它吃内存、耗时间、容易卡在 ld terminated with signal 9,还常因 cmake 版本、gcc C++11 支持、gold 链接器缺失等问题失败。

Ubuntu 默认源里装 llvm + clang(最快最稳)

Ubuntu 22.04(Jammy)及以上默认源已提供 LLVM 14–15,够日常开发和学习用:

  • sudo apt update && sudo apt install clang llvm
  • 装完即用:clang --version 会显示类似 clang version 14.0.0-1ubuntu1
  • 二进制路径在 /usr/bin/clang 和 /usr/bin/llvm-config,无需额外配置 PATH
  • 头文件、库、工具链(llvm-ar、llvm-objdump 等)全都在标准位置,CMake 自动识别

需要新版(如 LLVM 17/18)?用官方 APT 源

LLVM 官方维护了针对各 Ubuntu 版本的 apt.llvm.org 源,比 PPA 更可靠、更新更快:

Clang 22.1.3
Clang 22.1.3

Clang 22.1.3 Windows 64 位历史版本安装包,适合旧项目兼容、LLVM/Clang 工具链回退、编译行为对比、链接问题复现和 C/C++ 构建环境维护。

下载
  • 先加 GPG 密钥:wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
  • 添加源(以 Ubuntu 22.04 + LLVM 17 为例):echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main" | sudo tee /etc/apt/sources.list.d/llvm.list
  • sudo apt update && sudo apt install clang-17 llvm-17-dev
  • 设为默认(可选):sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-17 100,再 sudo update-alternatives --config clang

注意:不要同时启用多个 llvm-toolchain-xx 源,否则 apt upgrade 可能冲突;llvm-17-dev 包含头文件和静态库,写 Pass 或链接 LLVM IR 必须装。

必须从源码编译?避开三个高频坑

常见失败不是因为命令写错,而是环境没对齐:

  • 内存不足:make -j 编译时 ld 常因 OOM 被 kill(signal 9)。虚拟机务必配 ≥10GB 内存 + 8GB swap,或改用 gold 链接器:sudo ln -sf /usr/bin/ld.gold /usr/bin/ld
  • Clang 版本循环依赖:编译 LLVM 3.4–10 时,若系统只有 gcc,configure 会默认调 g++,但旧版 LLVM 需要 Clang 自身才能正确编译。解决方法是先 sudo apt install clang,再用 CC=clang CXX=clang++ ./configure ...
  • 目录结构错乱:GitHub 上的 llvm-project 是单仓库多子项目,clang 不在 llvm/tools/ 下。正确做法是用 -DLLVM_ENABLE_PROJECTS=clang(CMake)或 --enable-project=clang(configure),而不是手动 cp -r —— 否则 make 会找不到 clang 的 CMakeLists.txt

源码编译真正难的不是“怎么跑通”,而是“怎么让后续开发不踩二次坑”:比如你编译了带 --enable-debug-symbols 的 LLVM,但忘了把 /usr/lib/debug 或自定义 lib/ 加进 LD_LIBRARY_PATH,后面跑 opt 或写 Pass 就会报 undefined symbol —— 这类细节不记录,两周后重装环境又得重踩一遍。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

ubuntu clang

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.10.27

5881

23

ubunt上安装和配置vnc
ubunt上安装和配置vnc

安装方法:安装VNC服务器、启动VNC服务器、设置VNC密码等等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

1941

8

ubuntu启动黑屏解决方法
ubuntu启动黑屏解决方法

ubuntu启动黑屏解决方法:检查是否是电源问题、检查内存是否接触不良、检查显卡问题等。想了解更多ubuntu的相关内容,可以阅读本专题下面的文章。

2023.12.28

1670

6

为什么ubuntu有网络连接但不能上网
为什么ubuntu有网络连接但不能上网

ubuntu有网络连接但不能上网的原因:1、dns配置问题;2、代理服务器设置问题;3、网络防火墙设置问题;4、路由器或调制解调器设置问题;5、网络驱动程序问题;6、网络配置文件问题;7、其他问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.05

1021

6

ubuntu安装golang
ubuntu安装golang

本专题整合了ubuntu安装golang所有方法汇总,阅读下面的文章了解更多详细操作。

2025.12.13

339

13

Linux如何安装Ubuntu并完成基础系统优化教程
Linux如何安装Ubuntu并完成基础系统优化教程

访问Ubuntu官网或国内镜像站下载ISO镜像,利用Rufus或Etcher工具制作USB启动盘。重启电脑进入BIOS设置U盘引导,按提示完成分区与账户设置以安装系统。安装完毕后,首要任务是将软件源更换为国内镜像以加速下载,接着在终端执行更新命令升级系统组件,并安装显卡驱动及常用开发工具,至此即可完成基础环境搭建与优化。

2026.03.31

84

6

Ubuntu系统安装与基础配置
Ubuntu系统安装与基础配置

本指南详解Ubuntu系统安装全流程:从制作启动盘、分区规划到驱动配置,手把手带你完成系统部署。涵盖软件源优化、常用工具安装及桌面个性化设置,助你快速搭建稳定高效的Linux开发环境,零基础也能轻松上手。

2026.04.15

126

6

Ubuntu日常操作与高效使用
Ubuntu日常操作与高效使用

本指南聚焦Ubuntu日常操作与效率提升,深入解析终端命令、APT软件管理及权限控制等核心技能。从文件管理到开发环境搭建,再到网络配置与数据备份,全方位助你摆脱鼠标依赖,构建流畅的Linux工作流,让系统操作更加得心应手。

2026.04.17

67

6

Ubuntu系统进阶与运维管理
Ubuntu系统进阶与运维管理

本指南深入Ubuntu系统进阶与运维管理核心,涵盖Shell脚本自动化、性能监控及Docker容器化部署等高级技能。你将掌握磁盘管理、防火墙加固及故障排查等关键运维手段,从普通用户蜕变为系统管理者,构建安全、稳定且高效的企业级Linux运行环境。

2026.04.17

91

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习