在 CentOS 上“重装 GCC 编译器”通常有两种场景:
下面分别说明。
rpm -qa | grep gcc
sudo yum remove gcc gcc-c++
如果是“重装”,可以先卸载再装;如果只是修复,也可以直接 reinstall。
sudo yum install -y gcc gcc-c++
gcc --version
g++ --version
✅ 适合:
sudo yum reinstall -y gcc gcc-c++
CentOS 7 默认 GCC 是 4.8.5,较老,可用 Software Collections (SCL):
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
启用:
scl enable devtoolset-9 bash
gcc --version
永久生效(加到环境变量):
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
适合需要特定版本(如 GCC 11/12/13)。
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gmp-devel mpfr-devel libmpc-devel
wget https://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.gz
tar -xzf gcc-11.4.0.tar.gz
cd gcc-11.4.0
./configure --prefix=/usr/local/gcc-11 --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
sudo make install
然后配置环境变量或修改软链接。
which gcc
若没有,说明没装或 PATH 不对。
不要随便用太新的 GCC 替代系统 GCC,可能影响 yum。
如果你能告诉我:
我可以给你更精确的命令。