Dalam panduan ini, kami meneroka kaedah untuk mengesan secara automatik jika pengkompil menyokong C 11 dalam CMake, menyediakan analisis komprehensif kedua-dua versi CMake terbaharu dan sebelumnya.
CMake versi 3.1.0 memperkenalkan ciri yang berkuasa: mengesan ciri C yang disokong oleh penyusun. Ini dicapai melalui arahan cmake_minimum_required:
<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)</code>
Dengan menentukan versi CMake minimum, anda mendapat akses kepada pembolehubah CMAKE_CXX_COMPILE_FEATURES, yang menyenaraikan semua ciri C yang disokong. Ini membolehkan anda menentukan standard C untuk digunakan dalam projek anda.
CMake membolehkan anda menetapkan standard C secara eksplisit untuk sasaran menggunakan sifat CXX_STANDARD dan CXX_STANDARD_REQUIRED. Contohnya:
<code class="cmake">set_property(TARGET prog PROPERTY CXX_STANDARD 11) set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)</code>
Ini memastikan bahawa pengkompil dipanggil dengan bendera yang betul, seperti -std=c 11.
Sebagai alternatif, anda boleh menentukan ciri C yang diperlukan menggunakan arahan target_compile_features. Daripada senarai ini, CMake boleh menyimpulkan standard C yang sesuai.
<code class="cmake">target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)</code>
Dapatkan senarai ciri C yang disokong menggunakan CMAKE_CXX_KNOWN_FEATURES.
CMake menyediakan pelbagai cara untuk mengesan C 11 menyokong pengkompil dan tentukan piawaian C. Fleksibiliti ini membolehkan konfigurasi projek C yang disesuaikan, memastikan keserasian dan penyusunan lancar.
Atas ialah kandungan terperinci Bagaimana untuk Mengesan Sokongan Pengkompil C 11 dalam CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!