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
Lepaskan: 2024-11-01 08:10:30
asal
380 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk
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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan