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
語言檢查標頭。