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
,确认新版本已安装。