Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mengesan sokongan C 11 dalam pengkompil menggunakan CMake?

Bagaimanakah saya boleh mengesan sokongan C 11 dalam pengkompil menggunakan CMake?

Barbara Streisand
Barbara Streisandasal
2024-11-01 08:10:30336semak imbas

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

Mengesan Sokongan C 11 dalam Pengkompil dengan CMake

Mengenal pasti Sokongan Pengkompil

CMake versi 3.1.0 dan seterusnya menyediakan CMAKE_CXX_COMPILE_FEATURES untuk mengenal pasti ciri C yang disokong oleh yang pengkompil.

Menentukan Standard C Secara Eksplisit

Tetapkan sifat sasaran CXX_STANDARD dan CXX_STANDARD_REQUIRED untuk menentukan standard yang diingini:

<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>

Menentukan Ciri C yang Diperlukan

Use target_compile_features untuk menentukan C tertentu ciri dan CMake akan menyimpulkan standard yang sesuai:

<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>
Ciri C yang Disokong

Kod berikut menyenaraikan ciri C yang disokong oleh versi CMake anda:

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengesan sokongan C 11 dalam pengkompil menggunakan CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn