Centos 7默認gcc版本爲4.8,有時需要更高版本的,這裏以升級至9.3.1版本爲例,分別執行下面三條命令即可,無需手動下載源碼編譯
1、安裝 centos-release-scl
sudo yum install centos-release-scl
列出一下GCC版本
yum list |grep devtoolset |grep gcc.x86_64
2、安裝devtoolset,注意,如果想安裝8.版本的,就改成devtoolset-8-gcc,以此類推
sudo yum install devtoolset-9-gcc*
3、激活對應的devtoolset,所以你可以一次安裝多個版本的devtoolset,需要的時候用下面這條命令切換到對應的版本
scl enable devtoolset-9 bash
查看一下gcc版本
gcc -v
補充:這條激活命令只對本次會話有效,重啓會話後還是會變回原來的4.8.5版本,要想隨意切換可按如下操作。
首先,安裝的devtoolset是在 /opt/rh 目錄下的,如圖
cd /opt/rh && ll
每個版本的目錄下面都有個 enable 文件,如果需要啓用某個版本,只需要執行
source ./enable
所以要想切換到某個版本,只需要執行
source /opt/rh/devtoolset-9/enable
可以將對應版本的切換命令寫個shell文件放在配了環境變量的目錄下,需要時隨時切換,或者開機自啓。
4、直接替換舊的gcc
舊的gcc是運行的 /usr/bin/gcc,所以將該目錄下的gcc/g++替換爲剛安裝的新版本gcc軟連接,免得每次enable
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
gcc --version
g++ --version