В этом руководстве мы исследуем методы автоматического обнаружения поддержки компилятором C 11 в CMake. CMake, предоставляющий всесторонний анализ как последней, так и предыдущих версий CMake.
В CMake версии 3.1.0 появилась мощная функция: обнаружение функций C, поддерживаемых компилятор. Это достигается с помощью команды cmake_minimum_required:
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
Указав минимальную версию CMake, вы получаете доступ к переменной CMAKE_CXX_COMPILE_FEATURES, в которой перечислены все поддерживаемые Особенности С. Это позволяет вам определить стандарт C для использования в вашем проекте.
CMake позволяет явно установить стандарт C для целевого объекта с помощью свойств CXX_STANDARD и CXX_STANDARD_REQUIRED. Например:
set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)
Это гарантирует, что компилятор вызывается с правильными флагами, например -std=c 11.
Альтернативно вы можете указать необходимые функции C с помощью команды target_compile_features. Из этого списка CMake может вывести соответствующий стандарт C.
target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)
Получите список поддерживаемых функций C с помощью CMAKE_CXX_KNOWN_FEATURES.
CMake предоставляет несколько способов обнаружить поддержку компилятора C 11 и указать стандарт C. Такая гибкость позволяет создавать индивидуальные конфигурации проектов на языке C, обеспечивая совместимость и плавную компиляцию.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3