要在CentOS上使用GCC支持新特性,您可以通过以下两种主要方法升级GCC版本:
SCL是Red Hat/CentOS等系统的官方解决方案,允许用户在同一系统中安装和使用多个软件版本(如Python、GCC等),而不会影响系统的软件版本。
sudo yum install centos-release-scl
对于CentOS 7及以上版本,您可以安装特定的GCC版本,例如GCC 9:
sudo yum install devtoolset-9-gcc*
scl enable devtoolset-9 bash
gcc --version
注意:以上方式只是会在当前shell窗口生效,如果要想永久生效,那么可以添加以下命令到~/.bashrc
:
source scl_source enable devtoolset-9
wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
sudo yum install gmp-devel mpfr-devel libmpc-devel
tar -xf gcc-11.2.0.tar.gz
cd gcc-11.2.0
mkdir -p build
cd build
../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++
make -j$(nproc)
sudo make install
echo 'export PATH=/usr/local/gcc-11.2.0/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
gcc --version
通过以上步骤,您可以将CentOS系统中的GCC升级到较新的版本,从而支持C++11及以后的新特性。