Heim > Backend-Entwicklung > C++ > Hauptteil

Wie erkennt man die C 11-Compiler-Unterstützung in CMake?

Barbara Streisand
Freigeben: 2024-10-31 09:56:29
Original
192 Leute haben es durchsucht

How to Detect C  11 Compiler Support in CMake?

Erkennung der C 11-Compiler-Unterstützung in CMake

Übersicht

In diesem Leitfaden untersuchen wir Methoden zur automatischen Erkennung, ob ein Compiler darin C 11 unterstützt CMake bietet eine umfassende Analyse sowohl der neuesten als auch der vorherigen CMake-Versionen.

CMake 3.1.0 und höher

CMake Version 3.1.0 führte eine leistungsstarke Funktion ein: die Erkennung der von a unterstützten C-Funktionen Compiler. Dies wird durch den Befehl cmake_minimum_required erreicht:

<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)</code>
Nach dem Login kopieren

Durch Angabe der minimalen CMake-Version erhalten Sie Zugriff auf die Variable CMAKE_CXX_COMPILE_FEATURES, die alle unterstützten C-Funktionen auflistet. Dadurch können Sie den C-Standard bestimmen, der in Ihrem Projekt verwendet werden soll.

C-Standard explizit angeben

Mit CMake können Sie den C-Standard für ein Ziel mithilfe der Eigenschaften CXX_STANDARD und CXX_STANDARD_REQUIRED explizit festlegen. Zum Beispiel:

<code class="cmake">set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)</code>
Nach dem Login kopieren

Dadurch wird sichergestellt, dass der Compiler mit den richtigen Flags aufgerufen wird, z. B. -std=c 11.

Erforderliche C-Funktionen angeben

Alternativ: Sie können die erforderlichen C-Funktionen mit dem Befehl target_compile_features angeben. Aus dieser Liste kann CMake den entsprechenden C-Standard ableiten.

<code class="cmake">target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)</code>
Nach dem Login kopieren

Rufen Sie die Liste der unterstützten C-Funktionen mit CMAKE_CXX_KNOWN_FEATURES ab.

Fazit

CMake bietet mehrere Möglichkeiten zur Erkennung C 11-Compiler-Unterstützung und Angabe des C-Standards. Diese Flexibilität ermöglicht maßgeschneiderte C-Projektkonfigurationen und gewährleistet so Kompatibilität und nahtlose Kompilierung.

Das obige ist der detaillierte Inhalt vonWie erkennt man die C 11-Compiler-Unterstützung 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