安装clang-3.5软件包后找不到clang和clang ++

安装clang-3.5软件包后,在命令行输入clangclang++会给我一条消息,说明可以在哪些程序包中找到这些程序。尝试再次运行clang-3.5的安装,apt说明它已经安装,最迟版。

原始安装是使用以下命令完成的:

 sudo apt-get install clang-3.5 llvm 

build-essential以前安装过。

关于可能发生的事情的任何想法?

它就在那里,但它仍然被称为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++ 

也许是丑陋的工作; 但至少它现在有效:)

使用clang作为默认ccc++的正确方法是使用update-alternatives

实现相同或类似function的多个程序可以同时安装在单个系统上。 例如,许多系统同时安装了多个文本编辑器。 这为系统的用户提供了选择,如果需要,允许每个人使用不同的编辑器,但如果用户没有指定特定的偏好,则使程序很难选择要调用的编辑器。

首先你需要添加clang-3.5clang++-3.5作为例如gccg++替代品:

 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 

如果您在任何时候需要切换回gccg++ ,可以使用--config选项:

 sudo update-alternatives --config c++ 

在Ubuntu 15.04上,您还可以沿clang-xx软件包安装clang软件包。 然后,您可以键入clang ++,并找到相应的可执行文件。

 sudo apt-get install clang 

添加到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 

(请注意,每个clang版本附带的二进制文件集可能不同,例如3.6确实有clang-tblgen ,3.8没有。)

如果对每个安装的clang版本重复此操作,只需使用一个update-alternatives命令就可以在它们之间切换。

(与此同时,显然,关于是否将这些链接包含在Ubuntu包中仍存在争论: https : //bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493 )

在主目录中创建.bashrc文件。 输入这行代码。

别名clang ++ =“clang ++ – 3.5”

关闭你的终端。 再次打开它。 然后尝试再次编译您的程序。

除非你在命令名称“clang ++ – 3.5”中声明版本,否则我可以告诉clang不会工作。 所以我只是在.bashrc文件中别名。 所以我只需输入“clang ++”。

顺便说一句,我下载了clang 3.5,所以请将之前的建议调整到您的版本。

如果您正确安装了clang,另一种非常简单的方法可以省去键入版本号以及程序名称的麻烦,例如使用自动完成function(安装了clang ++ – 3.5):

 clang+[TAB][ENTER] 

所以你只需输入clang+ ,点击Tab键Enter键 。 与目录,文件名等名称的工作方式相同(但是,如果您安装了多个版本的程序,这对您没有帮助。)

如果安装了clang- 3.8 (如在Ubuntu 16.04上),这应该为clang- 4.0设置更新替代:

 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 100 sudo update-alternatives --install /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-4.0 100 sudo update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-4.0 100 sudo update-alternatives --install /usr/bin/clang-query clang-query /usr/bin/clang-query-4.0 100 sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-4.0 100 sudo update-alternatives --install /usr/bin/scan-build scan-build /usr/bin/scan-build-4.0 100 sudo update-alternatives --install /usr/bin/scan-view scan-view /usr/bin/scan-view-4.0 100