CheckIncludeFile

提供一個巨集來檢查是否可以在 C 中包含標頭檔。

CHECK_INCLUDE_FILE
CHECK_INCLUDE_FILE(<include> <variable> [<flags>])

檢查是否可以在 C 原始檔中包含指定的 <include> 檔案,並將結果儲存在名為 <variable> 的內部快取條目中。可選的第三個參數可用於向檢查添加編譯標誌(或使用下面的 CMAKE_REQUIRED_FLAGS)。

可以在呼叫此巨集之前設定以下變數來修改檢查的執行方式

CMAKE_REQUIRED_FLAGS

傳遞給編譯器的其他標誌字串。該字串必須以空格分隔--;-list 無法運作。CMAKE_<LANG>_FLAGS 及其相關的組態特定變數的內容會自動添加到編譯器命令中,然後才是 CMAKE_REQUIRED_FLAGS 的內容。

CMAKE_REQUIRED_DEFINITIONS

一個 ;-list 形式的編譯器定義,例如 -DFOO-DFOO=bar。也會自動添加由 <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 語言檢查標頭。