1、安装centos-release-scl
sudo yum install centos-release-scl
2、安装devtoolset,注意:如果想安装7.版本的,就改成devtoolset-7-gcc
sudo yum install devtoolset-9-gcc*
3、激活对应的devtoolset,你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-9 bash
4、首先,安装的devtoolset是在 /opt/rh 目录下的,每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行
source ./enable
所以要想切换到这个版本,只需要执行
source /opt/rh/devtoolset-9/enable
这条激活命令只对本次会话有效,重启会话后还是会变回原来的旧版本。
可以将对应版本的切换命令写个shell脚本放在配置了环境变量的目录下,需要时随时切换,或者开机自启。但是经过我自己的实践,不推荐上述方法。
最直截了当的方法是直接替换旧版本的gcc,旧版本gcc运行的在/usr/bin/gcc
,所以将该目录下的gcc/g++
替换为安装的新版本gcc软连接,省去了每次都要enable,简洁明了。
依次执行以下命令:
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/gcc /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-9/root/bin/gcc /usr/bin/g++