温馨提示×

centos如何选c++版本配置

小樊
36
2026-09-15 03:48:54
栏目: 编程语言

CentOS 上“选择 C++ 版本”通常涉及两件事:
1️⃣ 安装哪个 GCC / Clang 编译器
2️⃣ 编译时启用哪个 C++ 标准(如 C++11 / 14 / 17 / 20)

下面按常见场景说明。


一、查看当前 C++ / GCC 版本

g++ --version
gcc --version

CentOS 7 默认通常是:

  • gcc 4.8.5(只支持到 C++11)

CentOS 8 / Stream:

  • gcc 8/10/11(支持 C++14 / 17)

二、CentOS 选择 C++ 编译器版本

方式 1:使用 Software Collections(推荐,CentOS 7)

yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash

可用版本:

  • devtoolset-7(gcc 7,C++14)
  • devtoolset-9(gcc 9,C++17)
  • devtoolset-11(gcc 11,C++17/20)

验证:

g++ --version

⚠️ scl enable 只在当前 shell 生效。


方式 2:CentOS 8 / Stream 使用 AppStream

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

方式 3:手动编译 GCC(不推荐新手)

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


三、选择 C++ 标准(最重要)

编译时指定标准

g++ main.cpp -std=c++11
g++ main.cpp -std=c++14
g++ main.cpp -std=c++17
g++ main.cpp -std=c++20

示例:

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

四、CMake 中配置 C++ 版本(常用)

方式 1(推荐)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

方式 2

target_compile_features(myapp PRIVATE cxx_std_17)

五、CentOS 常见组合建议

CentOS 推荐 GCC C++ 标准
7 devtoolset-11 C++17
8 gcc-toolset-11 C++17
Stream gcc 12+ C++20

六、快速检查是否支持某标准

echo '#include <cstdio>
int main(){auto x=1;printf("%d",x);}' | g++ -std=c++17 -x c++ - -o t && ./t

如果你能告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 想要 C++11 / 17 / 20
  • ✅ 用 Makefile 还是 CMake

我可以直接给你最合适的一键配置方案

0