Heim > Backend-Entwicklung > C++ > Wie definiere ich Präprozessormakros in CMake?

Wie definiere ich Präprozessormakros in CMake?

Linda Hamilton
Freigeben: 2024-11-29 21:11:14
Original
869 Leute haben es durchsucht

How to Define Preprocessor Macros in CMake?

Präprozessormakros mit CMake definieren

In C bieten Präprozessormakros eine praktische Möglichkeit, symbolische Konstanten zu definieren oder das Codeverhalten während der Kompilierung zu ändern. Um ein Präprozessormakro mit CMake zu definieren, haben Sie zwei Hauptoptionen:

Methode 1: add_compile_definitions (CMake >= 3.12)

Mit CMake 3.12 und höher haben Sie kann den Befehl add_compile_definitions verwenden, um Präprozessormakros zu definieren. Dieser Ansatz ist feinkörniger als die vorherige Methode und ermöglicht Ihnen die Trennung von Kompilierungsdefinitionen, Include-Verzeichnissen und Compiler-Optionen.

add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)
Nach dem Login kopieren

Methode 2: Legacy add_definitions (veraltet)

Vor CMake 3.12 wurde der Befehl add_definitions zum Definieren des Präprozessors verwendet Makros:

add_definitions(-DOPENCV_VERSION=${OpenCV_VERSION})
add_definitions(-DWITH_OPENCV2)
Nach dem Login kopieren

Hinweis: Das Präfix -D ist in der Legacy-Methode erforderlich, um eine Präprozessordefinition anzugeben.

Zusätzliche Überlegungen:

  • Sie können mithilfe der target_compile_definitions auch Präprozessormakros pro Ziel definieren Befehl.
  • Detailliertere Erläuterungen zu den verfügbaren Befehlen für Compiler-Flags finden Sie in der CMake-Dokumentation unter: https://cmake.org/cmake/help/latest/command/add_definitions.html

Das obige ist der detaillierte Inhalt vonWie definiere ich Präprozessormakros in CMake?. 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