在 Linux 下查看 C++ 相关版本,通常可以从 编译器版本、C++ 标准库版本、CMake/构建工具版本 等几个方面来查。下面按常见场景给你整理:
g++ --version
或
gcc --version
示例输出:
g++ (Ubuntu 11.4.0) 11.4.0
查看支持的 C++ 标准:
g++ -std=c++20 -E -x c++ - <<< "" >/dev/null && echo "支持 C++20"
clang++ --version
#include <iostream>
int main() {
std::cout << __cplusplus << std::endl;
return 0;
}
含义:
199711L → C++98201103L → C++11201402L → C++14201703L → C++17202002L → C++20编译:
g++ main.cpp -std=c++17
g++ -dM -E -x c++ -std=c++17 /dev/null | grep cplusplus
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
或:
ldconfig -p | grep libstdc++
clang++ -stdlib=libc++ -v
cmake --version
CMake 中查看 C++ 标准:
message(STATUS "C++ Standard: ${CMAKE_CXX_STANDARD}")
which g++ clang++
update-alternatives --list g++
echo "g++: $(g++ --version | head -n1)"
echo "clang++: $(clang++ --version 2>/dev/null | head -n1)"
echo "CMake: $(cmake --version 2>/dev/null | head -n1)"
如果你能告诉我:
我可以给你更精准的命令。