使用 CMake 定義預處理器巨集
使用 CMake 定義預處理器變數隨著時間的推移而不斷發展。讓我們探討一下如何有效地做到這一點。
add_definitions
以前,CMake 主要依靠 add_definitions 命令來實現此目的。等效的 C 代碼為 #define foo。
add_definitions(OPENCV_VERSION=${OpenCV_VERSION} WITH_OPENCV2)
add_compile_definitions
但是,從 CMake 版本 3.12 開始,add_compile_definitions 指令提供了更精細的方法。它專門針對編譯定義,將它們與包含目錄和編譯器選項分開。
add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION}) add_compile_definitions(WITH_OPENCV2)
add_compile_definitions 的好處
這種較新的方法消除了經常使用的技巧的需要添加定義。它提供了一種更結構化且更容易出錯的方式來管理編譯定義。
特定於目標的定義
正如 Jim Hunziker 所提到的,您還可以在每個目標的基礎。更多詳情請參閱他的回答。
以上是如何在 CMake 中有效定義預處理器巨集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!