如何使用更新替代将clang设置为默认编译器

时间:2019-04-22 19:35:16

标签: linux ubuntu gcc clang

我使用Ubuntu 18.04,我有两个gcc / g ++版本,使用更新替代项进行管理:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

我可以使用以下命令切换编译器:

sudo update-alternatives --config gcc

我注意到我有以下编译器链(在这种情况下为gcc-7 / g ++-7):/usr/bin/cc -> /etc/alternatives/cc -> /usr/bin/gcc -> /etc/alternatives/gcc -> /usr/bin/gcc-7 /usr/bin/c++ -> /etc/alternatives/c++ -> /usr/bin/g++ -> /etc/alternatives/g++ -> /usr/bin/g++-7

我还安装了clang-8和clang ++-8,但是/usr/bin仅包含clang-8和clang ++-8,没有clang符号链接。我应该如何在更新替代工具中添加clang?

1 个答案:

答案 0 :(得分:2)

Clang不是GCC的版本,因此不能将其设置为/usr/bin/gcc的替代版本。不要试图覆盖它;您将破坏一些程序,这些程序需要CCC特有的功能,而这些功能在Clang中不可用。

可以将

Clang设置为/usr/bin/cc的替代项。这是设置C编译器的标准方法,并且应该相当安全。 (即使这样,如果某些构建过程由于假设/usr/bin/cc在Linux系统上始终是GCC而中断,我也不会感到惊讶。)