CentOS 6系统默认搭载的GCC版本为4.4.7,该版本几乎不支持C++11新特性。若需要在CentOS上编译C++11代码,升级GCC往往是绕不开的关键步骤。本文提供升级至devtoolset-2(即GCC 4.8)的完整操作指南,步骤清晰,按顺序执行即可。
首先备份当前的YUM仓库文件,然后下载devtoolset-2的仓库配置文件:
mv /etc/yum.repos.d/devtools-2.repo /etc/yum.repos.d/devtools-2.repo.bak wget https://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
随后安装devtoolset-2提供的GCC和binutils工具包:
yum install devtoolset-2-gcc devtoolset-2-binutils yum install devtoolset-2-gcc-c++
安装完毕后,新版GCC工具位于 /opt/rh/devtoolset-2/root/ 目录。系统默认GCC仍为4.4.7,因此需要手动替换符号链接。先备份旧版GCC:
mv /usr/bin/gcc /usr/bin/gcc-4.4.7 mv /usr/bin/g++ /usr/bin/g++-4.4.7 mv /usr/bin/c++ /usr/bin/c++-4.4.7
接着建立新版GCC的符号链接:
ln -s /opt/rh/devtoolset-2/root/usr/bin/gcc /usr/bin/gcc ln -s /opt/rh/devtoolset-2/root/usr/bin/c++ /usr/bin/c++ ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++
最后验证GCC版本:
gcc -v
若输出显示gcc 4.8.x,则代表升级成功。整个过程无需编译源码,完全基于CentOS官方软件集合,安全可靠。如需降级,只需恢复备份的符号链接即可。
