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 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>
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.
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>
Dadurch wird sichergestellt, dass der Compiler mit den richtigen Flags aufgerufen wird, z. B. -std=c 11.
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>
Rufen Sie die Liste der unterstützten C-Funktionen mit CMAKE_CXX_KNOWN_FEATURES ab.
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!