在C 原始程式碼中存取CMake 變數
問題:
CMake 變數如何,例如VERSINTERFACE可以在C 原始碼中存取和使用嗎?
答案:
選項1:使用add_definitions
範例:
<code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
選項 2:將 configure_file 與頭文件範本結合使用
範例:
<code class="cmake">// version_config.h.in #ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H // define your version_libinterface #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ // alternatively you could add your global method getLibInterfaceVersion here unsigned int getLibInterfaceVersion() { return @LIBINTERFACE_VERSION@; } #endif // VERSION_CONFIG_H</code>
範例:
<code class="cmake">configure_file( version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h ) include_directories( ${CMAKE_BINARY_DIR}/generated/ ) # Make sure it can be included...</code>
範例用法:
<code class="cpp">// Assuming version_config.h is included std::string version = VERSION_LIBINTERFACE;</code>
注意:
configure_file() 方法更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它更具可擴展性,因為它允許將其他變數或定義新增至產生的頭檔。
以上是如何存取 C 原始程式碼中的 CMake 變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!