Heim > Artikel > Backend-Entwicklung > Wie greife ich auf CMake-Variablen im C-Quellcode zu?
Zugriff auf CMake-Variablen im C-Quellcode
Problem:
Wie kann eine CMake-Variable, z LIBINTERFACE_VERSION, auf die innerhalb der C-Quelle zugegriffen und diese verwendet werden kann Code?
Antwort:
Option 1: Add_definitions verwenden
Beispiel:
<code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
Option 2: configure_file mit Header-Datei verwenden Vorlage
Beispiel:
<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>
Beispiel:
<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>
Beispiel Verwendung:
<code class="cpp">// Assuming version_config.h is included std::string version = VERSION_LIBINTERFACE;</code>
Hinweis:
Die Methode configure_file() ist erweiterbarer, da sie das Hinzufügen zusätzlicher Variablen oder Definitionen zur generierten Header-Datei ermöglicht.
Das obige ist der detaillierte Inhalt vonWie greife ich auf CMake-Variablen im C-Quellcode zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!