Maison > développement back-end > C++ > Comment accéder aux variables CMake dans votre code C ?

Comment accéder aux variables CMake dans votre code C ?

Mary-Kate Olsen
Libérer: 2024-10-29 08:42:30
original
893 Les gens l'ont consulté

 How to Access CMake Variables in Your C   Code?

Accès aux variables CMake dans le code C

Lorsque vous travaillez avec CMake, il peut être avantageux de stocker les valeurs fréquemment utilisées sous forme de variables. Cependant, accéder à ces variables dans le code source C peut être difficile.

Une approche pour utiliser les variables CMake en C consiste à utiliser la fonction add_definitions. Cette technique permet de transmettre des variables en tant que définitions de préprocesseur :

<code class="cmake">add_definitions(-DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION})</code>
Copier après la connexion

Par la suite, dans le code C, la variable est accessible en tant que macro de préprocesseur :

<code class="c++">#if defined(VERSION_LIBINTERFACE)
    unsigned int libInterfaceVersion = VERSION_LIBINTERFACE;
#endif</code>
Copier après la connexion

Alternativement, vous pouvez exploiter la commande configure_file pour générer un modèle de fichier d'en-tête qui inclut les remplacements de variables nécessaires. Par exemple, créez un fichier modèle nommé version_config.h.in :

<code class="c++">#ifndef VERSION_CONFIG_H
#define VERSION_CONFIG_H

#define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@

#endif</code>
Copier après la connexion

Dans le fichier CMakeLists.txt, utilisez la directive configure_file :

<code class="cmake">configure_file(version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h)
include_directories(${CMAKE_BINARY_DIR}/generated/)</code>
Copier après la connexion

Assurez-vous que le fichier d'en-tête généré est inclus dans les fichiers sources applicables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal