我想使用一些仅在较新版本的语言中可用的 C++ 功能。问题是 Ubuntu 15.04 (Vivid Vervet) 安装了 4.9.2,查看我从apt-get 安装 gcc:
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
它说已经是最新版本了。我不明白为什么……
答案1
唯一的选择就是从源代码构建,因为您正在运行已达到 EOL(生命周期结束)的 Vivid(15.04)版本。
下载源代码及其先决条件:
wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2 tar jxvf gcc-6.3.0.tar.bz2 cd gcc-6.3.0 ./contrib/download_prerequisites
编译源代码(注意:此命令将根据你最初保存 .bz2 存档的位置而有所不同),你也可以修改选项用于
build
命令。在本例中,我们将使用非常基本的选项:cd ~ mkdir gcc-build && cd gcc-build ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
笔记:请确保您已阅读文档查看可用选项。
现在我们准备构建 gcc
运行
make
命令来构建 gcc,此步骤将需要很长时间才能完成。make
上述阶段完成后,您可以安装建造gcc 与:
sudo make install
此过程完成后,运行命令
gcc --version
以验证安装是否已成功完成。
答案2
Ubuntu 15.04 已达到生命尽头并且没有支持,这意味着没有更多的更新或修复(安全性、错误或功能)将会发布。
您应该更新或重新安装较新的 Ubuntu 版本。
我建议使用 16.10(9 个月支持)官方存储库上已经有 gcc 6.x 分支。
但你也可以使用 16.04 LTS(5年支持)并添加不受信任/无保证的 ppa获取最新的 gcc 版本这个
就我个人而言,我会选择使用 16.10,并继续从官方渠道更新到更高版本的软件/Ubuntu,而无需添加(大部分)任何苯丙胺。