SCL是CentOS提供的工具集,允许在不影响系统默认GCC的情况下安装和使用新版本GCC,适合需要多版本共存的场景。
sudo yum install centos-release-scl,添加SCL仓库源。sudo yum install devtoolset-11-gcc*(将11替换为目标版本号)。scl enable devtoolset-11 bash,启动一个临时shell会话,此时gcc --version将显示新版本。source scl_source enable devtoolset-11添加到~/.bashrc或~/.bash_profile文件中,下次登录自动生效。若SCL仓库中没有所需版本,可通过源码编译安装,适合需要最新稳定版的场景。
wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz,然后tar -xf gcc-11.2.0.tar.gz解压。sudo yum groupinstall "Development Tools"安装基础开发工具,再执行sudo yum install gmp-devel mpfr-devel libmpc-devel安装GCC编译依赖。mkdir build && cd build,执行../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++配置(--prefix指定安装路径),然后make -j$(nproc)并行编译(nproc获取CPU核心数加速),最后sudo make install安装。~/.bashrc文件,添加export PATH=/usr/local/gcc-11.2.0/bin:$PATH和export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH,保存后执行source ~/.bashrc使变量生效。gcc --version,确认显示新版本信息。第三方仓库提供了更新的GCC版本,适合需要便捷安装的场景(以CentOS 8为例)。
sudo yum install epel-release安装EPEL仓库,再执行sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm添加Remi仓库。sudo yum-config-manager --enable remi-toolchain启用工具链仓库,然后sudo yum install gcc-11安装GCC 11(将11替换为目标版本号)。gcc --version,确认新版本已安装。