温馨提示×

centos如何升级c++配置版本

小樊
35
2026-10-17 15:37:35
栏目: 编程语言

在 CentOS 上“升级 C++ 配置版本”,通常有两种理解:

  1. 升级系统自带的 g++ / GCC(C++ 编译器)版本
  2. 升级项目使用的 C++ 标准(如 C++11 / C++14 / C++17 / C++20)

下面分别说明。


一、升级 GCC / G++(编译器版本)

CentOS 7 默认是 gcc 4.8.5,不支持 C++17/20。

✅ 方法 1:使用 SCL(推荐,安全)

适用于 CentOS 7 / 8

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

# 启用
scl enable devtoolset-11 bash

# 验证
gcc --version
g++ --version

常用版本:

  • devtoolset-7 → GCC 7
  • devtoolset-9 → GCC 9
  • devtoolset-11 → GCC 11

⚠️ scl enable 只在当前 shell 生效
永久生效可写进 .bashrc:

source /opt/rh/devtoolset-11/enable

✅ 方法 2:手动编译 GCC(不推荐新手)

yum groupinstall "Development Tools" -y
yum install gmp mpfr mpc -y

wget https://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.gz
tar -xf gcc-11.3.0.tar.gz
cd gcc-11.3.0
./configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
make install

✅ 方法 3:CentOS 8 / Stream(dnf)

dnf install gcc-toolset-11 -y
scl enable gcc-toolset-11 bash

二、升级 C++ 标准(不是编译器)

如果你只是想 使用更高版本的 C++ 标准:

编译时指定

g++ main.cpp -std=c++17 -o main

可选:

  • -std=c++11
  • -std=c++14
  • -std=c++17
  • -std=c++20

CMake 项目

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

三、查看当前 C++ 版本

g++ -dumpversion

或:

#include <iostream>
int main(){
    std::cout << __cplusplus << std::endl;
}
输出 标准
201103 C++11
201402 C++14
201703 C++17
202002 C++20

四、常见问题

❓ CentOS 6 怎么办?

基本只能手动编译 GCC,或迁移到 CentOS 7+

❓ 升级会影响系统吗?

使用 SCL 不会影响系统 gcc,非常安全


如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 当前 gcc 版本
  • 想用 C++17 还是 C++20

我可以给你精确命令 ✅

0 踩