如何在 Ubuntu 上使用最新的 GCC?

Nic*_*hov 156 gcc software-installation

我想用最新版本的gcc.

Ubuntu 14.04 带有 gcc 4.8.2,但是有 4.9.0 可用,而且,我看到它可以作为一个包使用:gcc-4.9. 我尝试安装它

sudo apt-get install gcc-4.9
Run Code Online (Sandbox Code Playgroud)

但它说

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'gcc-4.9-base' for regex 'gcc-4.9'
gcc-4.9-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

看起来它已经安装了,只是不是默认的?我如何利用它来构建我的程序?

Sud*_*oot 216

正确安装 gcc-4.9 并将其设置为默认 gcc 版本的最佳方法是:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
Run Code Online (Sandbox Code Playgroud)

--slaveg++,会导致g++沿被切换gcc,以相同的版本。但是,此时 gcc-4.9 将是您在 中配置的唯一版本update-alternatives,因此将 4.8 添加到update-alternatives,因此实际上有一个替代方案,通过使用:

sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
Run Code Online (Sandbox Code Playgroud)

然后您可以检查设置了哪一个,并使用以下方法来回更改:

sudo update-alternatives --config gcc
Run Code Online (Sandbox Code Playgroud)

注意:您可以跳过安装 PPA 存储库而直接使用,/usr/bin/gcc-4.9-base但我更喜欢使用全新更新的工具链。


对于 GCC 5.X 或 6,包(以及相应的命令)只是调用gcc-5gcc-6等。这是由于GCC 的版本方案发生了变化,其中 5.1 是第一个 GCC 5 版本,以及未来的 5.X 版本用于错误修复

  • 这完美地工作。此外,将“5”替换为“4.9”以使 GCC 5 在 Ubuntu 上运行。(我的开发团队现在按照您的方法同时运行 4.9 和 5。)谢谢,+1! (4认同)
  • @hwat 现在应该适用于 `gcc-6`。 (2认同)

mur*_*uru 24

使用工具链测试构建 PPA

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
Run Code Online (Sandbox Code Playgroud)

我认为 GCC 4.9 还不能完全用于 Ubuntu 14.04。基础包 ( gcc-4.9-base ) 和 GCC Go 4.9 编译器 ( gccgo-4.9 ) 可用,但其他前端不可用。我不知道为什么。


Cir*_*郝海东 17

Ultimate Mega Master 兼容性表

好的,让我们这样做:

               GCC                clang
        +-------------------+--------------------+
        | 11 10 9 8 7 6 5 4 | 12 11 10 9 8 7 6 5 |
+-------+-------------------+--------------------+
| 21.04 |  M  D M M M       |  D  M  M M         |
| 20.10 |     D M M M       |     D  M M M M M   |
| 20.04 |     P D M M       |        D M M M M   |
| 19.10 |       D M M       |                    |
| 19.04 |       M D M M     |                    |
| 18.10 |         D M M M   |                    |
| 18.04 |     P P M D M M   |          M M M D M |
| 16.04 |       P P P P D M |                    |
+-------+-------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)

所有问题:

如何将非默认 GCC 设置为默认值?

例如,您安装了/usr/bin/gcc-7但您想使用它而不是/usr/bin/gcc在运行gcc main.c.

sudo update-alternatives如其他答案中所述使用:https : //askubuntu.com/a/581497/52975它为您创建所需的符号链接。

另请参阅:`update-alternatives` 究竟做了什么?

如何从源代码构建自己的工具链

如果即使 PPA 对您来说还不够旧/新,请参阅:

较旧的 GCC 版本问题


kar*_*rel 9

Ubuntu 16.04 及更高版本

您已经可以从默认存储库在 Ubuntu 18.04 中安装 gcc 7.0。要在 Ubuntu 17.10、18.04 和 18.10 中安装 gcc-7,请打开终端并键入:

sudo apt install gcc-7 
Run Code Online (Sandbox Code Playgroud)

要在 Ubuntu 18.04 及更高版本中安装 gcc-8,请打开终端并键入:

sudo apt install gcc-8
Run Code Online (Sandbox Code Playgroud)

要在 Ubuntu 19.04 及更高版本中安装 gcc-9,请打开终端并键入:

sudo apt install gcc-9
Run Code Online (Sandbox Code Playgroud)

您可以从 ppa:jonathonf/gcc-7.1 在 Ubuntu 16.04 中安装 gcc-7。

sudo add-apt-repository ppa:jonathonf/gcc-7.1  
sudo apt update  
sudo apt install gcc-7  
Run Code Online (Sandbox Code Playgroud)

您可以从 ppa:jonathonf/gcc-8.0 在 Ubuntu 16.04 中安装 gcc-8。

sudo add-apt-repository ppa:jonathonf/gcc-8.0  
sudo apt update  
sudo apt install gcc-8  
Run Code Online (Sandbox Code Playgroud)

可以同时安装多个版本的 gcc。您可以使用update-alternatives命令来更改默认的 gcc 版本,以确定通用名称引用了哪个实际文件,例如gcc. 有关更多信息,请参阅此问题的答案:如何更改 Ubuntu 中的默认 GCC 编译器?.


归档时间:

查看次数:

339279 次

最近记录:

4 年 前