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

我想用最新版本的gcc编译我的程序。

Ubuntu 14.04附带gcc 4.8.2,但是有4.9.0可用,而且,我看到它可以作为一个包提供: gcc-4.9 。 我试着安装它

 sudo apt-get install gcc-4.9 

但它说

 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. 

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

正确安装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 

带有g++--slave将导致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 

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

 sudo update-alternatives --config gcc 

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


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

使用工具链测试构建PPA :

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

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

要专门调用gcc 4.9,请在命令提示符下使用gcc-4.9

您安装的所有gcc版本都可以通过在gcc末尾添加连字符和版本号来单独调用。 在您的情况下, gcc-4.8gcc-4.9应该可用。 在终端中,键入gcc- (注意连字符)和两次推送选项卡以查看是否安装了任何其他版本。

请注意,默认gcc可能仍为4.8。 (使用gcc -v来validation这一点。)不幸的是,如果您从默认存储库安装了gcc-4.9,则更改默认值并不简单,因为它没有添加update-alternatives条目。 如果您对如何更改默认值感兴趣,请参阅此问题的答案。

Ubuntu 16.04及更高版本

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

 sudo apt install gcc-7 

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

 sudo apt install gcc-8 

您可以从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 

您可以从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