En esta guía, exploramos métodos para detectar automáticamente si un compilador admite C 11 dentro CMake, que proporciona un análisis completo de las versiones más recientes y anteriores de CMake.
La versión 3.1.0 de CMake introdujo una característica poderosa: detectar las características de C compatibles con un compilador. Esto se logra mediante el comando cmake_minimum_required:
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
Al especificar la versión mínima de CMake, obtiene acceso a la variable CMAKE_CXX_COMPILE_FEATURES, que enumera todas las versiones admitidas. Características C. Esto le permite determinar el estándar C que usará en su proyecto.
CMake le permite establecer explícitamente el estándar C para un destino usando las propiedades CXX_STANDARD y CXX_STANDARD_REQUIRED. Por ejemplo:
set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)
Esto garantiza que el compilador se invoque con los indicadores correctos, como -std=c 11.
Alternativamente, puede especificar las características C requeridas usando el comando target_compile_features. De esta lista, CMake puede deducir el estándar C apropiado.
target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)
Obtenga la lista de funciones C compatibles usando CMAKE_CXX_KNOWN_FEATURES.
CMake proporciona múltiples formas de detectar la compatibilidad con el compilador C 11 y especificar el estándar C. Esta flexibilidad permite configuraciones de proyectos C personalizadas, lo que garantiza compatibilidad y una compilación perfecta.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3