CheckIncludeFile¶
提供了一个宏,用于检查是否可以在 C
中包含头文件。
- CHECK_INCLUDE_FILE¶
CHECK_INCLUDE_FILE(<include> <variable> [<flags>])
检查给定的
<include>
文件是否可能包含在C
源文件中,并将结果存储在名为<variable>
的内部缓存条目中。可选的第三个参数可用于为检查添加编译标志(或在下面使用CMAKE_REQUIRED_FLAGS
)。
在调用这个宏之前,可以设置以下变量来修改检查的运行方式
CMAKE_REQUIRED_FLAGS
传递给编译器的附加标志的字符串。该字符串必须以空格分隔——;-list 将不起作用。
CMAKE_<LANG>_FLAGS
及其关联的配置特定变量的内容在CMAKE_REQUIRED_FLAGS
的内容之前自动添加到编译器命令中。
CMAKE_REQUIRED_DEFINITIONS
形式为
-DFOO
或-DFOO=bar
的编译器定义的 ;-list。还将自动添加<resultVar>
指定的名称的定义。
CMAKE_REQUIRED_INCLUDES
传递给编译器的头搜索路径的 ;-list。这些将是使用的唯一头搜索路径——
INCLUDE_DIRECTORIES
目录属性的内容将被忽略。
CMAKE_REQUIRED_LINK_OPTIONS
从 3.14 版本添加。
要添加到链接命令中的选项的 ;-list(有关详细信息,请参见
try_compile()
)。
CMAKE_REQUIRED_LIBRARIES
要添加到链接命令中的库的 ;-list。它们可以是系统库的名称,也可以是 导入的目标(有关详细信息,请参见
try_compile()
)。
CMAKE_REQUIRED_LINK_DIRECTORIES
3.31 版新增。
传递给链接器的库搜索路径的 ;-list(有关详情,请参阅
try_compile()
)。
CMAKE_REQUIRED_QUIET
3.1 版新增。
如果此变量的值为 true,将抑制与检查关联的所有状态消息。
请参阅 CheckIncludeFiles
模块以一次检查多个头文件。请参阅 CheckIncludeFileCXX
模块以使用 CXX
语言检查头文件。