将clang-3.8设置为默认值


11

我已经安装了clang 3.0和clang 3.8:

$ sudo update-alternatives --config clang

update-alternatives:错误:clang没有替代品。

如何将3.8设置为/usr/bin/clang


在/ etc / alternatives /中输入一个或多个clang条目sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000,例如以下Java示例askubuntu.com/questions/56104/…–
Knud Larsen

实际上,名称是“ cc”。所以你需要发出:sudo update-alternatives --config cc
duli

Answers:


23
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100

我遵循的另一个示例使用“ 60”代表“ 6.0”,--slave而不是独立的规则-您的想法是什么?update-alternatives看起来比链接符号链接做得更多,但是我还没有足够的用途来知道可能出什么问题。
John P

谢谢您的回答。什么是100在到底意味着什么?
banarun

“ 100”是任意优先级数字;除非您另外指定,否则将自动使用优先级最高的应用程序。例如,我的系统显示gcc的优先级为20,clang优先级为10;在自动模式下,update-alternatives选择gcc。我可以以50的优先级运行上述命令,它将设置clang-3.8两个现有选项之上的自动偏好设置
arclight

1

尝试:

sudo update-alternatives --config cc

它将显示选项列表供您选择。

make实用程序使用命令cc进行编译,实际上是指向gcc,clang等的链接。


1
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8   81 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-8    --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-8.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-8  --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-8
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 60 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-6.0  --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-6.0.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-6.0 --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-6.0

这些命令将添加2个条目,默认选择为clang-8。您可以使用配置

sudo update-alternatives --config clang

这将更新clang,clang ++,手册页,clang格式,clang-tidy。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.