如何获得GCC版本支持特定功能

How to get GCC version supports specific feature?

本文关键字:功能 支持 版本 何获得 GCC      更新时间:2023-10-16

在某些情况下,我想知道从哪个版本的gcc开始支持特定的编译器标志或c ++语言功能,以便我可以在源文件或CMakeLists.txt中编写编译控制预处理器。例如,编译器标志 -wno-missing-field-initializers 在 gcc 3.4.3(我必须使用的古老版本)中不受支持,但我想知道 gcc 从哪个版本开始支持该标志。我在哪里可以找到这样的说明?

您可以使用

CheckCXXCompilerFlag检查特定标志

例如

include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-Wno-missing-field-initializers RESULT_OF_TEST)

尽管跨编译器的更便携的选项是使用CMAKE_CXX_KNOWN_FEATURES

见 https://cmake.org/cmake/help/latest/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html