Heim > Backend-Entwicklung > C++ > Hauptteil

Wie greife ich in Ihrem C-Code auf CMake-Variablen zu?

Mary-Kate Olsen
Freigeben: 2024-10-29 08:42:30
Original
888 Leute haben es durchsucht

 How to Access CMake Variables in Your C   Code?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage