1.安装gcc10.1
yum update -y
yum install -y gcc-c++ glibc-static gcc bzip2 wget tmux
cd ~
wget https://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz
tar -xzf gcc-10.1.0.tar.gz
cd gcc-10.1.0
./contrib/download_prerequisites
# gmp-6.1.0.tar.bz2: OK
# mpfr-3.1.4.tar.bz2: OK
# mpc-1.0.3.tar.gz: OK
#isl-0.18.tar.bz2: OK
# All prerequisites downloaded successfully.
./configure --prefix=/usr/local/gcc-10.1.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
make && make install
2.配置多版本共存
mv /usr/bin/gcc /usr/bin/gcc-8.3.1
mv /usr/bin/g++ /usr/bin/g++-8.3.1
mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-10.1.0
mv /usr/local/gcc/bin/g++ /usr/local/gcc/bin/g++-10.1.0
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8.3.1 10 --slave /usr/bin/g++ g++ /usr/bin/g++-8.3.1
alternatives --install /usr/bin/gcc gcc /usr/local/gcc/bin/gcc-10.1.0 20 --slave /usr/bin/g++ g++ /usr/local/gcc/bin/g++-10.1.0
alternatives --config gcc
选择 最新版本即可
3.centos7安装gcc11
安装centos-release-scl,出现权限问题使用超级用户(sudo)或者root进行安装
sudo yum install centos-release-scl
安装devtoolset,如果想安装其他版本,例如gcc11.* 改为devtoolset-11-gcc* 即可
sudo yum install devtoolset-11-gcc*
启用gcc11,devtoolset会安装在/opt/rh目录下
cd /opt/rh/devtoolset-11/
每个版本下面都会有个enable文件,执行以下命令即可启用
source ./enable
#如果想要切换到不同的版本时,只要执行命令即可
source /opt/rh/devtoolset-11/enable
#直接替换相应软连接,该方法可以避免每次都要进行enable
mv /usr/bin/gcc /usr/bin/gcc.bak
ln -s /opt/rh/devtoolset-11/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++.bak
ln -s /opt/rh/devtoolset-11/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++.bak
ln -s /opt/rh/devtoolset-11/root/bin/c++ /usr/bin/c++
mv /usr/bin/cpp /usr/bin/cpp.bak
ln -s /opt/rh/devtoolset-11/root/bin/cpp /usr/bin/cpp
mv /usr/bin/cc /usr/bin/cc.bak
ln -s /opt/rh/devtoolset-11/root/bin/cc /usr/bin/cc