在 CentOS 上做 C++ 多版本(多编译器)配置,常见有几种方式,从简单到专业依次说明,你可以按需求选。
gcc --version
g++ --version
which gcc
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++
scl enable devtoolset-11 bash
gcc --version
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 12 / 13 / 14
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
mkdir build && cd build
../configure --prefix=/usr/local/gcc-13 \
--enable-languages=c,c++ \
--disable-multilib
make -j$(nproc)
make install
/usr/local/gcc-13/bin/g++ main.cpp
或加入 PATH:
export PATH=/usr/local/gcc-13/bin:$PATH
cmake -DCMAKE_C_COMPILER=/usr/local/gcc-13/bin/gcc \
-DCMAKE_CXX_COMPILER=/usr/local/gcc-13/bin/g++ .
set(CMAKE_C_COMPILER /usr/local/gcc-13/bin/gcc)
set(CMAKE_CXX_COMPILER /usr/local/gcc-13/bin/g++)
适合 多项目、多标准(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 + 指定编译器 |
如果你能告诉我:
我可以直接给你一套可复制的命令。