在CentOS系统中选择GCC版本可以通过以下几种方法:
使用SCL(Software Collections)
SCL是Red Hat/CentOS等系统的官方解决方案,允许用户在同一系统中安装和使用多个软件版本,而不会影响系统的软件版本。
- 安装SCL仓库:
sudo yum install centos-release-scl
- 启用SCL仓库中的GCC版本:
对于CentOS 7及以上版本,可以安装特定的GCC版本,例如GCC 9:
sudo yum install devtoolset-9-gcc*
- 使用SCL命令启用新版本的GCC:
scl enable devtoolset-9 bash
- 验证GCC版本:
gcc --version
注意:以上方式只会在当前shell窗口生效,如果要想永久生效,可以添加以下命令到~/.bashrc
:
source scl_source enable devtoolset-9
使用gcc-toolset
在CentOS 8及以上版本中,红帽提供了开发工具包来管理GCC版本。
- 安装gcc-toolset:
例如,安装GCC 10:
sudo dnf install gcc-toolset-10
- 激活gcc版本:
scl enable gcc-toolset-10 bash
或
source /opt/rh/gcc-toolset-10/enable
- 验证GCC版本:
gcc --version
同样,这种方式只会在当前bash生效,如果需要永久生效,可以添加环境变量。
手动编译GCC源码
如果需要特定版本的GCC,可以手动下载源码进行编译安装。
- 下载指定GCC版本的源码,例如GCC 11.2:
wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
- 安装依赖库:
sudo yum install gmp-devel mpfr-devel libmpc-devel
- 解压GCC并创建编译目录:
tar -xf gcc-11.2.0.tar.gz cd gcc-11.2.0 mkdir -p build cd build
- 配置并编译GCC:
../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++ make -j$(nproc)
- 安装GCC:
sudo make install
- 配置GCC的环境变量:
echo 'export PATH=/usr/local/gcc-11.2.0/bin:$PATH' >> ~/.bashrc source ~/.bashrc
- 验证GCC版本:
gcc --version
以上就是在CentOS系统中选择GCC版本的方法,你可以根据自己的需求选择使用SCL、gcc-toolset或手动编译安装特定版本的GCC。