Zugriff auf CMake-Variablen in C-Code
Bei der Arbeit mit CMake kann es von Vorteil sein, häufig verwendete Werte als Variablen zu speichern. Der Zugriff auf diese Variablen innerhalb des C-Quellcodes kann jedoch eine Herausforderung sein.
Ein Ansatz zur Verwendung von CMake-Variablen in C ist die Verwendung der Funktion add_definitions. Diese Technik ermöglicht die Übergabe von Variablen als Präprozessordefinitionen:
<code class="cmake">add_definitions(-DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION})</code>
Anschließend kann im C-Code auf die Variable als Präprozessormakro zugegriffen werden:
<code class="c++">#if defined(VERSION_LIBINTERFACE) unsigned int libInterfaceVersion = VERSION_LIBINTERFACE; #endif</code>
Alternativ können Sie sie nutzen Verwenden Sie den Befehl configure_file, um eine Header-Dateivorlage zu generieren, die die erforderlichen Variablenersetzungen enthält. Erstellen Sie beispielsweise eine Vorlagendatei mit dem Namen version_config.h.in:
<code class="c++">#ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ #endif</code>
Verwenden Sie in der Datei CMakeLists.txt die Anweisung 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>
Stellen Sie sicher, dass die generierte Header-Datei ist in den entsprechenden Quelldateien enthalten.
Das obige ist der detaillierte Inhalt vonWie greife ich in Ihrem C-Code auf CMake-Variablen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!