CentOS中GCC版本升级的三种常用方法
SCL是CentOS提供的软件集合工具,允许在不影响系统默认GCC版本的情况下,安装和使用多个版本的GCC。
sudo yum install centos-release-scl,添加SCL软件源。devtoolset(如GCC 9对应devtoolset-9,GCC 11对应devtoolset-11),执行sudo yum install devtoolset-<version>-gcc devtoolset-<version>-gcc-c++。scl enable devtoolset-<version> bash命令启动新的shell会话,此时GCC版本将切换为目标版本。若需永久生效,可将该命令添加到~/.bashrc或~/.bash_profile文件中。gcc --version,确认GCC版本已更新。若需要特定版本的GCC(如最新稳定版),可通过手动编译源码实现,但过程较耗时。
gcc-11.2.0)下载源码包,使用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安装依赖库。build子目录并进入,执行../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++配置编译选项(--prefix指定安装路径,--enable-languages指定支持的语言),随后运行make -j$(nproc)并行编译(nproc获取CPU核心数加速编译),最后用sudo make install安装。~/.bashrc文件,添加export PATH=/usr/local/gcc-11.2.0/bin:$PATH(优先使用新GCC)和export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH(链接新GCC的库文件),运行source ~/.bashrc使配置生效。gcc --version,确认GCC版本已更新。第三方仓库(如Remi)提供较新的GCC版本,适合需要便捷升级的场景。
sudo yum install epel-release,安装EPEL(Extra Packages for Enterprise Linux)仓库,扩展软件源。sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm,CentOS 8用remi-release-8.rpm)。sudo yum-config-manager --enable remi-toolchain,启用Remi仓库中的工具链模块(包含GCC)。sudo yum install gcc-<version>(如gcc-11),YUM会自动解决依赖并安装指定版本。gcc --version,确认GCC版本已更新。/etc/profile、~/.bashrc)和项目代码,防止意外情况导致数据丢失。