在 CentOS 上,查看 C++ 版本通常有几种不同含义,下面按常见需求分别说明。
如果使用的是 g++,执行:
g++ --version
示例输出:
g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-22)
如果你只有 gcc 而没有 g++,可以先安装:
sudo yum install gcc-c++
gcc --version
GCC 和 g++ 本质来自同一个编译器套件,版本通常一致。
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
典型输出示例:
GLIBCXX_3.4.28
GLIBCXX_3.4.29
✅ 最高版本号就代表当前 libstdc++ 支持的 C++ 标准能力。
编译时指定标准:
g++ -std=c++11 main.cpp
g++ -std=c++17 main.cpp
查看当前 g++ 默认标准:
g++ -dM -E -x c++ /dev/null | grep __cplusplus
示例输出:
#define __cplusplus 201703L
对应标准:
| 值 | C++ 标准 |
|---|---|
| 199711L | C++98 |
| 201103L | C++11 |
| 201402L | C++14 |
| 201703L | C++17 |
| 202002L | C++20 |
which g++
clang++ --version
安装 clang(可选):
sudo yum install clang
| CentOS 版本 | 默认 GCC |
|---|---|
| CentOS 7 | 4.8.5 |
| CentOS 8 | 8.x |
| CentOS Stream 9 | 11+ |
如需升级:
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
✅ 查看 C++ 编译器版本(推荐)
g++ --version
✅ 查看当前 C++ 标准
g++ -dM -E -x c++ /dev/null | grep __cplusplus
如果你能说明是 编译器版本 / C++ 标准 / 运行时库 / 多版本管理,我可以给你更精确的方案。