Maison > développement back-end > C++ > Comment définir des macros de préprocesseur dans CMake en utilisant l'approche recommandée ?

Comment définir des macros de préprocesseur dans CMake en utilisant l'approche recommandée ?

Susan Sarandon
Libérer: 2024-12-06 10:20:16
original
893 Les gens l'ont consulté

How to Define Preprocessor Macros in CMake Using the Recommended Approach?

Définition des macros de préprocesseur dans CMake

Souvent, les développeurs exigent que les macros de préprocesseur soient définies pour leurs projets CMake. Traditionnellement, CMake fournissait la commande add_definitions à cet effet. Cependant, depuis la version 3.12 de CMake, une nouvelle approche a été introduite avec des commandes distinctes pour compiler les définitions, inclure les répertoires et les options du compilateur.

Utiliser la nouvelle approche

Pour définissez une macro de préprocesseur en utilisant la nouvelle syntaxe, utilisez la commande add_compile_definitions comme suit :

add_compile_definitions(MACRO_NAME=VALUE)
Copier après la connexion

Pour exemple, pour définir la macro OPENCV_VERSION, vous écrirez :

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

Vous pouvez également définir plusieurs macros en une seule commande :

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

Avantages

Cette nouvelle approche offre plusieurs avantages par rapport aux add_definitions commande :

  • Il offre un meilleur contrôle sur les définitions qui sont appliquées aux différentes parties de votre projet.
  • Il évite la possibilité de définir des macros qui ne sont pas destinées à une cible particulière.
  • Il s'aligne sur les meilleures pratiques de développement CMake, comme indiqué dans la documentation CMake. (https://cmake.org/cmake/help/latest/command/add_definitions.html).

Remarque : Comme indiqué dans la documentation, il n'est pas recommandé de n'utilisez plus la commande add_definitions.

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