我想知道某些情况,因为支持哪个版本的gcc特定的编译器标记或c ++语言功能,以便我可以在源文件或CMakeLists.txt中编写编译控制预处理器。例如,gcc 3.4.3(我必须使用的古老版本)不支持编译器标志-wno-missing-field-initializers,但是我想确切地知道gcc支持哪个版本。在哪里可以找到此类说明?
答案 0 :(得分:1)
您可以使用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