讲师中心 微信公众号
AI工具推荐 视频效率加速

Ubuntu安装多个LLVM版本后怎么设置默认版本

落涛小哥_4630

落涛小哥_4630

发布时间:2026-10-02 14:24:37

|

749人浏览过

|

来源于php中文网

原创

update-alternatives 是唯一可靠方式,因其通过系统级符号链接链(/usr/bin/clang → /etc/alternatives/clang → 实际二进制)统一管理多版本LLVM工具链,确保clang、clang++、llvm-config等协同一致,避免PATH或alias导致的构建系统(CMake/meson/IDE)不一致问题。

ubuntu安装多个llvm版本后怎么设置默认版本

为什么 update-alternatives 是唯一可靠的方式

Ubuntu 官方仓库安装的 LLVM 工具链(如 clang、clang++、llvm-config)默认不自动注册到系统替代链中。即使你用 apt install clang-14 clang-17 装了多个版本,执行 clang --version 仍可能显示旧版本或报错“command not found”——因为 /usr/bin/clang 没有被指向任一真实二进制,而是悬空或指向系统默认(通常是最早装的那个)。update-alternatives 是 Debian/Ubuntu 系统级多版本共存的底层机制,它管理的是符号链接链(/usr/bin/clang → /etc/alternatives/clang → /usr/lib/llvm-14/bin/clang),不是 PATH 覆盖或 alias,所以能确保所有依赖该工具的流程(如 CMake、meson、IDE 构建系统)一致生效。

update-alternatives --install 的参数必须成对注册

LLVM 工具链不是单个命令,而是一组协同工作的二进制:至少要同步注册 clang、clang++、llvm-config,否则会出现“clang++ 能用但 llvm-config --version 报错”这类不一致问题。每个 --install 命令必须指定唯一优先级(数字越大优先级越高),且路径必须是绝对路径:

  • sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-14/bin/clang 140
  • sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-14/bin/clang++ 140
  • sudo update-alternatives --install /usr/bin/llvm-config llvm-config /usr/lib/llvm-14/bin/llvm-config 140
  • 同理为 LLVM 17 注册:把路径换成 /usr/lib/llvm-17/bin/...,优先级设为 170(必须 ≠ 140)

注意:/usr/lib/llvm-XX/bin/ 是 Ubuntu 官方包的标准安装路径;如果你用 apt install clang-17,它会自动创建这个目录;若手动编译安装,则需确认真实路径再填入。

Ubuntu 26.04
Ubuntu 26.04

Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者

下载

切换时必须用 --config 而非直接改 symlink

运行 sudo update-alternatives --config clang 后,终端会列出所有已注册的 clang 版本供选择编号。选中后,update-alternatives 会原子化更新整个链路,包括其 slave 链接(如 clang++ 和 llvm-config 如果已正确注册为 slave,也会同步切换)。不要手动 ln -sf 指向某个版本,否则:
• clang++ 可能仍指向旧版本
• update-alternatives --display clang 显示状态为 manual mode,后续 --auto 切换会失效
• CMake 中 find_package(LLVM) 可能因 llvm-config 版本不匹配而失败

验证是否真正生效的三个关键点

仅看 clang --version 不够,必须检查三处:

  • 主命令:clang --version 和 clang++ --version 输出版本号一致
  • 配置工具:llvm-config --version 输出相同主版本(如 17.0.1),且 llvm-config --bindir 指向对应 /usr/lib/llvm-17/bin/
  • 构建系统行为:在空目录下运行 cmake -DCMAKE_CXX_COMPILER=clang++ ..,检查日志中是否出现 clang version 17. 而非 14

最容易被忽略的是 llvm-config ——很多项目(尤其是 Rust 的 llvm-sys 或自定义 pass 开发)强依赖它返回的头文件路径和链接标志,版本错配会导致编译期找不到 llvm/IR/Instructions.h 这类头文件。

热门AI工具

更多
LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

相关专题

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

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

5981

2023.10.27

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

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

1961

2023.12.28

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

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

1690

2023.12.28

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

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

1021

2024.09.05

ubuntu安装golang
ubuntu安装golang

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

359

2025.12.13

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

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

84

2026.03.31

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

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

126

2026.04.15

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

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

67

2026.04.17

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

20

2026.09.30

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn