赞
踩
Centos 7 默认 gcc 版本为 4.8,有时需要更高版本的,这里以升级至 11.2.1 版本为例,分别执行下面三条命令即可,无需手动 下载源码编译
1、安装 centos-release-scl
sudo yum install centos-release-scl
2、安装 devtoolset,注意,如果想安装 7.*版本的,就改成 devtoolset-7-gcc*,以此类推
sudo yum install devtoolset-11-gcc*
3、激活对应的 devtoolset,所以你可以一次安装多个版本的 devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-11 bash
大功告成,查看一下 gcc 版本
gcc -v
显示为 gcc version 11.2.1 20220127 (Red Hat 11.2.1-9) (GCC)
补充:这条激活命令只对本次会话有效,重启会话后还是会变回原来的 4.8.5 版本,要想随意切换可按如下操作。
首先,安装的 devtoolset 是在 /opt/sh 目录下的,如图
每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行
source ./enable
所以要想切换到某个版本,只需要执行
source /opt/rh/devtoolset-8/enable
可以将对应版本的切换命令写个 shell 文件放在配了环境变量的目录下,需要时随时切换,或者开机自启
4、直接替换旧的 gcc
旧的 gcc 是运行的 /usr/bin/gcc,所以将该目录下的 gcc/g++替换为刚安装的新版本 gcc 软连接,免得每次 enable
ll /opt/rh/devtoolset-11/root/bin/gcc
ll /usr/bin/g++
备份:
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
链接到新版本:
ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version
本文由mdnice多平台发布
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。