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>
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>
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>
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>
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!