"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como detectar suporte ao compilador C++ 11 no CMake?

Como detectar suporte ao compilador C++ 11 no CMake?

Publicado em 2024-11-06
Navegar:120

How to Detect C  11 Compiler Support in CMake?

Detecção de suporte ao compilador C 11 no CMake

Visão geral

Neste guia, exploramos métodos para detectar automaticamente se um compilador suporta C 11 dentro CMake, fornecendo uma análise abrangente das versões mais recentes e anteriores do CMake.

CMake 3.1.0 e posterior

CMake versão 3.1.0 introduziu um recurso poderoso: detectar os recursos C suportados por um compilador. Isso é conseguido através do comando cmake_minimum_required:

cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)

Ao especificar a versão mínima do CMake, você obtém acesso à variável CMAKE_CXX_COMPILE_FEATURES, que lista todos os suportes Recursos C. Isso permite que você determine o padrão C a ser usado em seu projeto.

Especificando o padrão C explicitamente

CMake permite que você defina explicitamente o padrão C para um destino usando as propriedades CXX_STANDARD e CXX_STANDARD_REQUIRED. Por exemplo:

set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)

Isso garante que o compilador seja invocado com os sinalizadores corretos, como -std=c 11.

Especifique os recursos C necessários

Como alternativa, você pode especificar os recursos C necessários usando o comando target_compile_features. A partir desta lista, o CMake pode deduzir o padrão C apropriado. ]Conclusão

CMake fornece várias maneiras de detectar o suporte do compilador C 11 e especificar o padrão C. Essa flexibilidade permite configurações personalizadas de projetos C, garantindo compatibilidade e compilação perfeita.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3