Maison > développement back-end > C++ > Comment définir des macros de préprocesseur dans CMake ?

Comment définir des macros de préprocesseur dans CMake ?

Linda Hamilton
Libérer: 2024-11-29 21:11:14
original
852 Les gens l'ont consulté

How to Define Preprocessor Macros in CMake?

Définition de macros de préprocesseur avec CMake

En C, les macros de préprocesseur offrent un moyen pratique de définir des constantes symboliques ou de modifier le comportement du code lors de la compilation. Pour définir une macro de préprocesseur à l'aide de CMake, vous disposez de deux options principales :

Méthode 1 : add_compile_definitions (CMake >= 3.12)

Avec CMake 3.12 et versions ultérieures, vous peut utiliser la commande add_compile_definitions pour définir des macros de préprocesseur. Cette approche est plus fine que la méthode précédente et vous permet de séparer les définitions de compilation, d'inclure des répertoires et des options de compilateur.

add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION})
add_compile_definitions(WITH_OPENCV2)
Copier après la connexion

Méthode 2 : Add_definitions héritées (obsolète)

Avant CMake 3.12, la commande add_definitions était utilisée pour définir le préprocesseur macros :

add_definitions(-DOPENCV_VERSION=${OpenCV_VERSION})
add_definitions(-DWITH_OPENCV2)
Copier après la connexion

Remarque : Le préfixe -D est requis dans la méthode héritée pour indiquer une définition de préprocesseur.

Considérations supplémentaires :

  • Vous pouvez également définir des macros de préprocesseur par cible à l'aide de target_compile_definitions commande.
  • Pour des explications plus détaillées sur les commandes disponibles pour les indicateurs du compilateur, reportez-vous à la documentation CMake à l'adresse : https://cmake.org/cmake/help/latest/command/add_definitions.html

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