如何安装 gcc-7 或 clang 4.0?

如何安装 gcc-7 或 clang 4.0?

我想尝试 C++17 功能,我想安装符合标准的编译器(最好是 GCC)。我对 Linux 和 Ubuntu 完全陌生,而且我根本不了解很多。

我尝试跟随https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test但没有成功。首先我运行:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

据我了解,此命令会安装一些密钥。接下来我尝试:

sudo add-apt-repository ppa:ubuntu-toolchain-r/gcc-7

返回:

Error: 'ppa:ubuntu-toolchain-r/gcc-7' invalid

接下来我尝试安装 clang 开发分支:

apt-get install clang-4.0 lldb-4.0

它给了我

E: Unable to locate package clang-4.0
E: Couldn't find any package by glob 'clang-4.0'
E: Couldn't find any package by regex 'clang-4.0'
E: Unable to locate package lldb-4.0
E: Couldn't find any package by glob 'lldb-4.0'
E: Couldn't find any package by regex 'lldb-4.0'

这一切意味着什么?出了什么问题?

答案1

适用于所有 Ubuntu 版本的超级 GCC 表:如何在 Ubuntu 上使用最新的 GCC?

Ubuntu 16.04 及以下版本

有一个官方的 Ubuntu GCC 测试 PPA,应该优先考虑:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7 g++-7
gcc-7 --version

GCC 7 发布在2017 年 5 月,对于 17.04 主版本来说已经太晚了。

PPA 目前没有适用于较新版本(例如 16.10)的 GCC,只有 LTS 12.04、14.04 和 16.04,如下所示:https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test|快照。我记得之前有 17.04,但是被删掉了?另请参阅:https://unix.stackexchange.com/questions/371737/install-gcc-7-on-ubuntu

于 2018 年 10 月在 Ubuntu 16.04 上测试。

Ubuntu 17.10 及以上版本

默认有 GCC 7.2 和 clang 4!https://packages.ubuntu.com/artful/gcc|https://packages.ubuntu.com/artful/clang

$ gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0
$ clang --version  
clang version 4.0.1-6 (tags/RELEASE_401/final)

16.04 上的 GCC 8

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version

截至 2018-11,版本号为 8.1.0。

Ubuntu 18.04 中的默认设置:

Crosstool-NG

如果你真的认真考虑这个问题,请使用 Crosstool-NG 编译并使用你自己的 GCC,如下所述:https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603#52454603

这将允许您在各种 Ubuntu 版本上使用各种 GCC 版本,而无需从您不一定信任的 PPA 下载 blob。

答案2

您可以从以下位置安装 gcc-7 和 g++-7这个包

sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt-get update
sudo apt-get install gcc-7 g++-7

答案3

OP 询问“如何安装...”。或者,如何编译 Clang 4.0。

您可以使用 Microsoft 的脚本从源代码进行编译ChakraCore 的 GitHub 存储库

wget https://raw.githubusercontent.com/Microsoft/ChakraCore/master/tools/compile_clang.sh

LLVM_VERSION="3.9.1"将第 7 行更新为LLVM_VERSION="4.0.0"

sudo ./compile_clang.sh

它将下载并编译具有 LLVM Gold 支持的 Clang 4.0(和整个编译器工具链)。

答案4

这是我在 Ubuntu 16.04 LTS 上安装 gcc-7/g++-7 的步骤使其成为默认设置。

首先使用官方 ppa 安装 gcc-7/g++-7。

sudo apt update -qq
sudo apt install -yq software-properties-common
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update -qq
sudo apt install -yq g++-7

和:

  • -y:自动确认
  • -q:安静模式(可增加安静程度)

然后将其设为默认替代方案

sudo update-alternatives \
 --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
 --slave /usr/bin/g++ g++ /usr/bin/g++-7 \
 --slave /usr/bin/gcov gcov /usr/bin/gcov-7 \
 --slave /usr/bin/gcov-tool gcov-tool /usr/bin/gcov-tool-7 \
 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-7 \
 --slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-7 \
 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-7

现在运行gcc --version应该返回 gcc 7.4.0 IIRC

相关内容