Heim > Backend-Entwicklung > C++ > Hauptteil

Wie kann ich mit CMake die C 11-Unterstützung in einem Compiler erkennen?

Barbara Streisand
Freigeben: 2024-11-01 08:10:30
Original
267 Leute haben es durchsucht

How can I detect C  11 support in a compiler using CMake?

Erkennen der C 11-Unterstützung in einem Compiler mit CMake

Identifizieren der Compiler-Unterstützung

CMake Version 3.1.0 und höher bietet CMAKE_CXX_COMPILE_FEATURES, um C-Funktionen zu identifizieren, die von unterstützt werden des Compilers.

C-Standard explizit angeben

Zieleigenschaften CXX_STANDARD und CXX_STANDARD_REQUIRED festlegen, um den gewünschten Standard anzugeben:

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

Erforderliche C-Funktionen angeben

Verwenden Sie target_compile_features, um bestimmte C-Funktionen anzugeben, und CMake leitet den entsprechenden Standard ab:

<code class="cmake">project(foobar CXX)
add_executable(foobar main.cc)
set(needed_features    # Specify the required C++ features used in the program
    cxx_strong_enums
    cxx_constexpr
    cxx_auto_type)
target_compile_features(foobar PRIVATE ${needed_features})</code>
Nach dem Login kopieren

Unterstützte C-Funktionen

Der folgende Code listet die von Ihrer CMake-Version unterstützten C-Funktionen auf:

<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
get_property(known_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES)
foreach(i ${known_features})
  message("${i}")
endforeach()</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit CMake die C 11-Unterstützung in einem Compiler erkennen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!