温馨提示×

centos支持哪些c++标准库

小樊
42
2026-10-11 21:14:11
栏目: 编程语言

在 CentOS 上,C++ 标准库(通常是 libstdc++,由 GCC 提供)的版本和支持的 C++ 标准,取决于系统自带的 GCC 版本 以及你是否安装了更新的工具链(如 devtoolset / GCC 新版本)。下面按常见 CentOS 版本说明。


一、CentOS 自带 GCC 与 C++ 标准支持

CentOS 7

  • 默认 GCC:4.8.5
  • libstdc++ 支持:
    • ✅ C++98
    • ✅ C++03
    • ✅ C++11(基本完整)
    • ⚠️ C++14(部分支持,不完整)
    • ❌ C++17 / C++20(不支持)

实际使用建议:CentOS 7 默认只适合 C++11 及以前。


CentOS 8

  • 默认 GCC:8.5.0
  • libstdc++ 支持:
    • ✅ C++98 / C++03
    • ✅ C++11
    • ✅ C++14
    • ✅ C++17(较完整)
    • ⚠️ C++20(部分支持)

CentOS Stream 9

  • 默认 GCC:11.x
  • libstdc++ 支持:
    • ✅ C++11 / C++14 / C++17
    • ✅ C++20(大部分特性支持)
    • ⚠️ C++23(实验性)

二、通过 devtoolset(Software Collections)升级

CentOS 7 常用方式:

devtoolset GCC 版本 C++ 标准
7 7.3 C++14 / C++17(实验)
8 8.3 C++14 / C++17
9 9.3 C++17 / C++20(部分)
10 10.3 C++20(大部分)
11 11.2 C++20

使用方式示例:

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

三、其他 C++ 标准库(非默认)

CentOS 也支持:

1. libc++(LLVM/Clang)

  • 需手动安装 llvm / libcxx
  • 支持现代 C++(C++17 / C++20)
  • 不默认使用

2. 静态链接 libstdc++

  • 可使用 -static-libstdc++
  • 解决运行环境 GCC 版本过低问题

四、总结建议

需求 推荐
CentOS 7 传统环境 C++11
CentOS 7 + devtoolset C++17 / C++20
CentOS 8+ C++17 / C++20
最新标准 CentOS Stream 9 / 自定义 GCC

如果你愿意,可以告诉我:

  • 你的 CentOS 版本
  • 需要的 C++ 标准(如 C++17)

我可以给你具体的安装和编译命令。

0 踩