问题描述
在编译代码时,我无法让clang ++工作。具体来说,我收到了make: clang++: Command not found
错误。
我运行了sudo apt-get install llvm
,还有sudo apt-get install build-essential
和sudo apt-get update
。我该怎么做才能安装clang ++?
最佳解决办法
正如您所做的那样,安装llvm和build-essential软件包不会导致安装clang或clang ++。为此,您必须安装one of the clang packages,具体取决于您想要的clang和clang ++版本。
16.04
在Ubuntu 16.04中,您的选项是clang-3.5,clang-3.6,clang-3.7和clang-3.8。
14.04
在Ubuntu 14.04中,您的选项是clang-3.3,clang-3.4和clang-3.5。
您可以在软件中心安装它们,也可以使用:
sudo apt-get update
sudo apt-get install clang-3.n
(当然,用所需的sub-version替换n
。)
12.04
如果你正在运行Ubuntu 12.04,那么提供clang
和clang++
的only one package,所以它就叫做clang。
次佳解决办法
18.04(仿生)
我参观了http://apt.llvm.org/bionic/dists/(即仿生发行版)。我确定6.0是工具链的最新主要版本。
我假设你也想要链接器lld。
# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0
这为您提供了以下名称的二进制文件(可能更多):
clang-6.0
clang++-6.0
lld-6.0
ld.lld-6.0
它还会安装这些软件包(以及更多):
llvm-6.0
llvm-6.0-dev
llvm-6.0-runtime
17.04(Artful)
与上述相同。为了方便copy-paste,我会重复每一行。
# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/artful/ llvm-toolchain-artful-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0
16.04(Xenial)
已接受的答案已经提供了在16.04安装clang-3.8的说明,但是这里是如何获得clang-6.0:
# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0