在 CentOS 下查看 C++ 版本(编译器版本),通常有以下几种方式,最常用的是查看 GCC/G++ 的版本。
g++ --version
示例输出:
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
这表示:
gcc --version
g++ 和 gcc 通常版本一致。
echo | g++ -dM -E -x c++ - | grep __cplusplus
示例输出:
#define __cplusplus 199711L
含义:
199711L → C++98201103L → C++11201402L → C++14201703L → C++17202002L → C++20⚠️ 注意:这是 默认标准,不是编译器支持的最大标准。
g++ -std=c++17 test.cpp
或
g++ -std=c++20 test.cpp
如果报错,说明不支持该标准。
ldd --version
示例:
ldd (GNU libc) 2.17
C++ 标准库版本:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
| CentOS 版本 | GCC 版本 | 默认 C++ |
|---|---|---|
| CentOS 7 | 4.8.5 | C++98 / C++11 |
| CentOS 8 | 8.x | C++14 / C++17 |
| CentOS 9 | 11.x | C++17 / C++20 |
yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash
然后:
g++ --version
✅ 查看 C++ 编译器版本
g++ --version
✅ 查看当前 C++ 标准
echo | g++ -dM -E -x c++ - | grep __cplusplus
如果你是想确认 “能不能用 C++17 / C++20”,可以告诉我你的 CentOS 版本,我可以直接告诉你是否支持。