如何在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-5
, gcc-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.8
和gcc-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