我正在尝试在 Cent OS 中安装最新版本的 g++。我管理的最好的是以下内容:
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils
Run Code Online (Sandbox Code Playgroud)
但这会安装 g++ 4.8.2 而不是 4.9.2。有没有办法安装4.9.2?
小智 28
CentOS 6/7 正式支持这一点。您不需要第三方存储库。而在 CentOS 的 repo 中,gcc 版本是 4.9.2。
yum install centos-release-scl-rh
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
Run Code Online (Sandbox Code Playgroud)
要使用更新的工具,请使用以下scl
命令启动一个新的 shell :
scl enable devtoolset-3 bash
Run Code Online (Sandbox Code Playgroud)
您可能还需要重置 PATH 环境变量,该变量可能在 ~/.bashrc 或其他配置文件中设置。如果你需要改变它,它应该指向/opt/rh/devtoolset-3/root/usr/bin/:$PATH
Sus*_*Pal 14
我使用 Scientific Linux Cern 6 存储库在我的 CentOS 6.5 和 CentOS 6.6 系统上安装 gcc 4.9 和 g++ 4.9。它不安装 g++ 4.9.2。它安装了 g++ 4.9.1,这足以满足我的需要。
这是我用来安装它的命令。
cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++
Run Code Online (Sandbox Code Playgroud)
正如迈克尔在他对这篇文章的评论中所说,要实际使用它安装的 gcc 版本,请使用以下命令启动一个新的 shell。
scl enable devtoolset-3 bash
Run Code Online (Sandbox Code Playgroud)
小智 4
你必须用老式的方式来做。获取 GCC 源代码,手动构建它。
您有什么理由不愿意这样做?(我可以想到一些,但除非您也想到,否则我不想添加任何可能令人困惑的内容)。
如果您对从源代码构建犹豫不决,我可能可以提供一些步骤。
注意:原因是 4.9 版本的 devtools 目前仅适用于拥有有效许可证的 Red Hat 用户。等待一段时间,我确信 4.9 devtools 最终也会像目前的 4.8 一样提供给 CentOS 用户。