温馨提示×

centos c++多版本怎么配置

小樊
43
2026-09-02 23:10:22
栏目: 编程语言

在 CentOS 上做 C++ 多版本(多编译器)配置,常见有几种方式,从简单到专业依次说明,你可以按需求选。


一、使用系统自带的 gcc 多版本(最常见)

1️⃣ 查看已有 gcc

gcc --version
g++ --version
which gcc

2️⃣ 安装多个 gcc 版本(以 gcc 9 / 11 为例)

CentOS 7:

yum install centos-release-scl
yum install devtoolset-9-gcc devtoolset-9-gcc-c++
yum install devtoolset-11-gcc devtoolset-11-gcc-c++

CentOS 8 / Stream:

dnf install gcc-toolset-11-gcc gcc-toolset-11-gcc-c++

3️⃣ 临时切换版本

scl enable devtoolset-11 bash
gcc --version

4️⃣ 永久切换(推荐用 alternatives)

alternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-11/root/usr/bin/gcc 110
alternatives --install /usr/bin/g++ g++ /opt/rh/devtoolset-11/root/usr/bin/g++ 110

alternatives --config gcc
alternatives --config g++

二、手动安装多版本 gcc(不依赖系统源)

适合需要 gcc 12 / 13 / 14

1️⃣ 下载源码

wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar -xzf gcc-13.2.0.tar.gz
cd gcc-13.2.0
./contrib/download_prerequisites

2️⃣ 编译安装

mkdir build && cd build
../configure --prefix=/usr/local/gcc-13 \
  --enable-languages=c,c++ \
  --disable-multilib

make -j$(nproc)
make install

3️⃣ 使用指定版本

/usr/local/gcc-13/bin/g++ main.cpp

或加入 PATH:

export PATH=/usr/local/gcc-13/bin:$PATH

三、CMake 指定 C++ 编译器(工程级)

方式 1:命令行指定

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

方式 2:CMakeLists.txt

set(CMAKE_C_COMPILER   /usr/local/gcc-13/bin/gcc)
set(CMAKE_CXX_COMPILER /usr/local/gcc-13/bin/g++)

四、Conan / vcpkg(依赖 + 编译器隔离)

适合 多项目、多标准(C++11/17/20)

conan install . --settings compiler=gcc --settings compiler.version=11

五、容器方案(最干净)

docker run -it gcc:13

或:

podman run -it centos:7

六、推荐组合 ✅

场景 推荐
普通开发 devtoolset + alternatives
多版本并行 手动安装到 /usr/local/gcc-x
CI / 服务器 Docker
大型项目 CMake + 指定编译器

如果你能告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 需要 gcc 几(9 / 11 / 13?)
  • ✅ 用于开发还是编译旧项目

我可以直接给你一套可复制的命令

0