在 C 程式碼中存取 CMake 變數
使用 CMake 時,將常用值儲存為變數可能會很有幫助。然而,在 C 原始程式碼中存取這些變數可能具有挑戰性。
在 C 中使用 CMake 變數的一種方法是利用 add_definitions 函數。此技術允許將變數作為預處理器定義傳遞:
<code class="cmake">add_definitions(-DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION})</code>
隨後,在C 程式碼中,可以將變數作為預處理器巨集進行存取:
<code class="c++">#if defined(VERSION_LIBINTERFACE) unsigned int libInterfaceVersion = VERSION_LIBINTERFACE; #endif</code>
或者,您可以利用configure_file 指令產生包含必要的變數取代的頭檔模板。例如,建立一個名為version_config.h.in 的範本檔案:
<code class="c++">#ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ #endif</code>
在CMakeLists.txt 檔案中,使用configure_file 指令:
<code class="cmake">configure_file(version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h) include_directories(${CMAKE_BINARY_DIR}/generated/)</code>
確保產生的頭檔包含在適用的來源檔案中。
以上是如何存取 C 程式碼中的 CMake 變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!