Skip to main content

Linux upgrade gcc g++

Linux
KIGA
Author
KIGA
This is a personal blog, intended for sharing.
Table of Contents

Ubuntu gcc 升降级
#

更新系统包

apt update
apt upgrade

下载工具包,包含gcc、g++ 、等工具

apt install build-essential

Ubuntu 20.04 默认gcc-9版本,需要升级为gcc-10

apt install gcc-10 g++-10

指定gcc-10, 优先级为90

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 90 --slave /usr/bin/g++ g++ /usr/bin/g++-10 --slave /usr/bin/gcov gcov /usr/bin/gcov-10

指定gcc-9 优先级为80

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 80 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
gcc --version
g++ --version

CentOS 7升级gcc
#

Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至10.2.1

1、 安装centos-release-scl

sudo yum install centos-release-scl

2、安装devtoolset

sudo yum install devtoolset-10-gcc*

3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-10 bash

4、大功告成,查看一下gcc版本

gcc -v
# gcc (GCC) 10.2.1 20210130 (Red Hat 10.2.1-11)

5、安装的devtoolset是在 /opt/rh 目录下,切换到某个版本

source /opt/rh/devtoolset-10/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-10/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-10/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version