在centos下默认的gcc版本是 gcc4.8.5 ,版本比较低,若想要使用最新的一些C++特性,则无法支持。若直接使用yum install gcc
,也只能安装gcc4.8.5,所以我们需要借助scl工具来安装gcc9.
1. 安装centos-release-scl
SCL(Software Collections)是一个CentOS/RHEL Linux平台的软件多版本共存解决方案,为RHEL/CentOS Linux用户提供一种方便、安全地安装和使用应用程序和运行时环境的多个版本的方式,同时避免把系统搞乱。
shell
sudo yum install centos-release-scl
2. 安装devtoolset
shell
sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++
3. 激活对应的devtoolset
若一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本:
shell
scl enable devtoolset-9 bash
4. 一劳永逸
可以将旧gcc运行的/user/bin
目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable:
shell
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/g++ /usr/bin/g++
这样,再使用g++ --version
命令查看g++版本,就可以发现已经更新到了g++9.3.1了。