28

GCC 11.1 终于在昨天发布了。但是,现在它只能从源代码构建,所以我想知道我们什么时候可以得到它apt

4

4 回答 4

35
sudo apt install build-essential manpages-dev software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt install gcc-11 g++-11

然后使用update-alternatives设置默认gcc ...

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-9 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-9  --slave /usr/bin/cpp cpp /usr/bin/cpp-9 && \

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 --slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-11 --slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-11  --slave /usr/bin/cpp cpp /usr/bin/cpp-11;

要对设置进行抽样检查以查看默认的 gcc,您可以运行以下命令,如果它们显示正确的结果,那么其余的都很好......

gcc --version;g++ --version;gcov --version;

要重新配置到任何以前的 gcc 版本...

sudo update-alternatives --config gcc

您可以在任何版本的 ubuntu 上执行此操作,...享受吧!

这是我的 6 个不同的 gcc 并排生活,默认为 gcc-11:

$ sudo update-alternatives --config gcc
There are 6 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-11   1010      auto mode
  1            /usr/bin/gcc-10   1000      manual mode
  2            /usr/bin/gcc-11   1010      manual mode
  3            /usr/bin/gcc-5    40        manual mode
  4            /usr/bin/gcc-7    700       manual mode
  5            /usr/bin/gcc-8    800       manual mode
  6            /usr/bin/gcc-9    900       manual mode

Press <enter> to keep the current choice[*], or type selection number:
于 2021-05-09T00:37:38.280 回答
16

在 Ubuntu 20.04 上,我按照此处的说明进行操作:

这是为了:

  1. 通过向 /etc/apt/sources.list 添加一行来更新列出的镜像,如下所示:

    sudo add-apt-repository 'deb http://mirrors.kernel.org/ubuntu hirsute main universe'

    从列表中根据您的位置选择镜子。我选择了内核镜像,因为我在北美。

  2. sudo apt-get update

  3. sudo apt-get 安装 gcc-11

之后which gcc-11应该会生成一条到 gcc-11 的路径。在我的机器上是:

which gcc-11

产生:/usr/bin/gcc-11

于 2021-05-05T18:23:12.933 回答
5

Casachii 的指示对我有用,有一个问题。如果您使用 casachii 的说明自行构建 GCC 时遇到任何问题,例如报告缺少 GMP、MPFR、MPC 等的构建错误,则只需执行以下操作:

从 GCC 目录(您刚刚创建的“build”目录的父级),运行:

./contrib/download_prerequisites

然后当它完成时,运行这个:

./configure

最后按照 casachii 的指示返回构建目录并构建 GCC 11.x

cd build
../configure --enable-multilib && make && sudo make install

这将需要相当长的时间。顺便说一句 - 我会在对 casachii 非常有用的答案的评论中添加这个,但是我刚刚创建了这个帐户,显然我甚至没有发表评论的信誉。

于 2021-08-29T16:45:25.757 回答
4

我们目前没有关于何时会看到 GCC 11.1 的 APT 版本的信息。下面,我将展示您希望遵循的分步构建说明:

你可以访问https://gcc.gnu.org/mirrors.html,选择离你最近的镜像,下载 gcc-11.1.0.tar.gz 的源码

然后,确保安装了构建系统:

sudo apt install gcc g++ make bison binutils gcc-multilib

是的,你需要 gcc 来构建 gcc。

然后,解压压缩包:

cd Downloads # replace with your download location
tar -xzvf gcc-11.1.0.tar.gz
cd gcc-11.1.0

最后一件事是实际构建它:

mkdir build
cd build
../configure --enable-multilib && make && sudo make install

就这样!您现在已经在 Ubuntu 中安装了 GCC 11.1。

于 2021-04-28T10:40:37.203 回答