安装clang-3.5软件包后,在命令行中键入clang或clang++会给我一条消息,说明可以在哪些软件包中找到这些程序。尝试clang-3.5再次运行安装时,apt 说明它已经安装并且是最新版本。
原始安装是使用以下命令完成的:
sudo apt-get install clang-3.5 llvm
Run Code Online (Sandbox Code Playgroud)
build-essential 之前安装过。
关于可能发生了什么的任何想法?
小智 34
它在那里,但它仍然被称为 clang-3.5。
您可以将它作为clang-3.5(或clang++-3.5)执行,也可以像我一样设置它的符号链接(安装常规 clang 不起作用):
sudo ln -s /usr/bin/clang-3.5 /usr/bin/clang
sudo ln -s /usr/bin/clang++-3.5 /usr/bin/clang++
Run Code Online (Sandbox Code Playgroud)
也许是丑陋的解决方法;但至少它现在有效:)
小智 14
使用铛作为默认的正确方法cc,并c++是使用update-alternatives:
可以在单个系统上同时安装实现相同或相似功能的多个程序。例如,许多系统同时安装了多个文本编辑器。这为系统用户提供了选择,如果需要,允许每个用户使用不同的编辑器,但是如果用户没有指定特定的偏好,程序就很难做出好的编辑器选择来调用。
所以首先你需要添加clang-3.5或clang++-3.5替代 eggcc和g++:
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.5 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100
Run Code Online (Sandbox Code Playgroud)
如果您需要随时切换回gcc或g++可以使用以下--config选项:
sudo update-alternatives --config c++
Run Code Online (Sandbox Code Playgroud)
小智 9
在 Ubuntu 15.04 上,您还可以沿着 clang-xx 包安装 clang 包。然后您可以输入 clang++ 并找到相应的可执行文件。
sudo apt-get install clang
Run Code Online (Sandbox Code Playgroud)
小智 6
添加到 Yan Foto 的答案(以防万一您的目标是获得可用clang但不一定将其用作cc),您实际上可以一次性添加整个程序集
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-3.8 \
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-3.8 \
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-3.8
Run Code Online (Sandbox Code Playgroud)
(请注意,每个 clang 版本附带的二进制文件集可能不同,例如 3.6 有clang-tblgen,3.8 没有。)
如果您对安装的每个版本的 clang 重复此操作,您将能够使用单个update-alternatives命令在它们之间切换。
(同时,显然,关于是否在 Ubuntu 软件包中包含这些链接仍然存在争论:https : //bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493)
| 归档时间: |
|
| 查看次数: |
78764 次 |
| 最近记录: |