Je souhaite stocker le numéro de version de ma bibliothèque en un seul endroit. J'ai donc défini une telle variable dans le CMake fichier:Comment lire une variable CMake dans le code source C++
SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")
Avec cette définition que je peux générer un fichier version.rc selon la définition de Microsoft, que je compile dans la bibliothèque et montre ensuite correctement dans les propriétés fenêtre de mon fichier dll.
Maintenant, je voudrais utiliser cette variable CMake dans mon code source C++, mais je n'arrive pas à une solution de travail. J'ai essayé différentes choses comme ceci:
#ifndef VERSION_LIBINTERFACE
# define VERSION_LIBINTERFACE @[email protected]
#endif
ou ceci:
unsigned int getLibInterfaceVersion()
{
return @[email protected];
}
Mais le compilateur ne rien accepter. Comme mes recherches dans la CMake-Documentation n'ont eu aucun résultat, j'espère que quelqu'un pourra me donner les conseils essentiels.
Merci d'avance.
Vous devez transmettre cette valeur de variable au compilateur en tant que constante de précompilateur. La syntaxe exacte dépend du compilateur utilisé. –
J'utilise le compilateur Visual Studio 2010. Donc je peux l'utiliser comme les constantes listées dans http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx? Peux-tu me donner un exemple? – Snowfox