在 CentOS 上升级 C++(更准确说是 GCC / G++ 编译器)版本,常见做法有以下几种,按推荐程度从高到低说明。
适用于 CentOS 7 / 8,不破坏系统自带编译器,安全稳定。
sudo yum install centos-release-scl -y
yum list available devtoolset-*
常见版本:
sudo yum install devtoolset-11 -y
scl enable devtoolset-11 bash
验证:
gcc --version
g++ --version
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
sudo dnf install gcc gcc-c++ -y
或安装较新版本:
sudo dnf install gcc-toolset-11 -y
scl enable gcc-toolset-11 bash
适合需要 GCC 12+ 或定制需求。
sudo yum groupinstall "Development Tools" -y
sudo yum install wget bzip2 -y
wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
tar -xzf gcc-12.2.0.tar.gz
cd gcc-12.2.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --disable-multilib --enable-languages=c,c++
make -j$(nproc)
sudo make install
⚠️ 编译时间很长,且容易破坏系统环境。
g++ -std=c++17 test.cpp -o test
gcc --version 没变?export CC=/opt/rh/devtoolset-11/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-11/root/usr/bin/g++
如果你能告诉我:
我可以给你最精确的命令。