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