2009-10-14 4 views
0

J'essaye d'ajouter une définition de préprocesseur de sorte qu'une valeur soit seulement définie pendant qu'un certain projet construit, alors il devient indéfini. Je suis allé dans mes propriétés de projet -> préprocesseur -> définitions de préprocesseur. Ici, j'ai tapé #define PROJECTNAME_EXPORT, dans l'espoir que je pourrais appeler #ifdef PROJECTNAME_EXPORT tout au long de ce projet pour échanger une valeur (entre dllexport et dllimport) au moment de la construction.Les définitions du préprocesseur se détériorent. int définir la redéfinition?

Cependant, quand je frappe bien, il semble que Visual Studio ajoute une double citation avant ma définition. Quand j'essaie de construire, je reçois plus de 100 erreurs, la plupart disant "séquence d'échappement illégale". D'autres sont "int define: redefinition", "int MYPROJECT_EXPORT redéfinition", etc. Ai-je fait quelque chose de mal?

Répondre

4

Vous n'incluez pas le "#define" dans la définition. Juste le nom du symbole, et éventuellement une valeur, comme suit:

PROJECTNAME_EXPORT=coolness 

La façon de penser des définitions que vous entrez ici, dans l'IDE, est qu'ils seront transmis au compilateur à l'aide du /D option, donc la syntaxe devrait être proche. Il ne serait pas nécessaire d'inclure la syntaxe #define, puisque ces définitions sont transmises au compilateur/préprocesseur non pas en source C, mais par un mécanisme différent.

+0

Je suis passé entièrement au-dessus de ma tête. Merci Mucho –

Questions connexes