温馨提示×

CentOS怎么配置C++多版本

小樊
37
2026-08-18 23:03:57
栏目: 编程语言

CentOS 上配置 多个 C++(GCC / G++)版本 常见有三种方式,按推荐程度从高到低说明,并给出可直接操作的示例


✅ 方式一(最推荐):使用 devtoolset / SCL

适用于 CentOS 7 / 8,官方支持、稳定、不影响系统编译器。

1️⃣ 安装 SCL 源

# CentOS 7
yum install -y centos-release-scl

# CentOS 8(已 EOL,建议用 Alma / Rocky)
dnf install -y epel-release
dnf install -y scl-utils

2️⃣ 安装多个 GCC 版本

yum install -y devtoolset-7   # GCC 7
yum install -y devtoolset-8   # GCC 8
yum install -y devtoolset-9   # GCC 9
yum install -y devtoolset-10  # GCC 10

3️⃣ 切换 GCC 版本

# 临时切换(当前 shell)
scl enable devtoolset-9 bash

# 查看版本
gcc --version
g++ --version

✅ 只对当前 shell 生效,不影响系统默认 gcc


4️⃣ 永久生效(可选)

echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc

✅ 方式二:手动编译安装多版本 GCC(最灵活)

适合需要 GCC 11 / 12 / 13 / 14 的情况。

1️⃣ 安装依赖

yum groupinstall -y "Development Tools"
yum install -y gmp-devel mpfr-devel libmpc-devel

2️⃣ 下载并编译 GCC

wget https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.xz
tar -xf gcc-12.3.0.tar.xz
cd gcc-12.3.0

./contrib/download_prerequisites
mkdir build && cd build

../configure \
  --prefix=/usr/local/gcc-12 \
  --enable-languages=c,c++ \
  --disable-multilib

make -j$(nproc)
make install

3️⃣ 使用指定版本

export PATH=/usr/local/gcc-12/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-12/lib64:$LD_LIBRARY_PATH

gcc --version

4️⃣ 多版本并存

/usr/local/gcc-12/bin/g++
/usr/local/gcc-10/bin/g++

✅ 方式三:使用 CMake + 指定编译器

开发时常用,不修改系统环境。

cmake \
  -DCMAKE_C_COMPILER=/usr/local/gcc-12/bin/gcc \
  -DCMAKE_CXX_COMPILER=/usr/local/gcc-12/bin/g++ \
  ..

✅ 查看当前系统 GCC

gcc --version
which gcc
rpm -qa | grep gcc

✅ 推荐方案总结

场景 推荐方式
CentOS 7 / 8 ✅ devtoolset
需要 GCC ≥ 11 ✅ 手动编译
CI / 项目隔离 ✅ CMake 指定
生产环境 ✅ devtoolset

❓ 我可以继续帮你

  • ✅ 指定 CentOS 7 还是 8
  • ✅ 配置 CLion / VSCode
  • ✅ 设置 默认 C++17 / C++20
  • ✅ 多版本 libstdc++ 兼容问题

直接告诉我你的 CentOS 版本 + 需要的 GCC 版本 即可。

0