Existe-t-il un moyen d'ajouter un préprocesseur supplémentaire #define dans la ligne de commande devenv?comment est-ce que j'ajoute le préprocesseur #define dans la ligne de commande devenv?
Répondre
Je ne suis pas entièrement sûr de ce que vous entendez par ligne de commande vcbuild mais si vous voulez dire le compilateur de ligne de commande Visual C++, vous pouvez ajouter des définitions en ajoutant/Dxxxx, par exemple.
cl.exe /DSHAREWARE ....
Réponse complémentaire en fonction des commentaires:
Vous devriez être en mesure de définir la variable d'environnement CL avec le préprocesseur supplémentaire définissent:
SET CL=/DSHAREWARE
devenv ....
D'informations sont disponibles sur MSDN
Je pensais devenirv.exe. cl compile seulement IIRC. devenv fait la liaison aussi bien. –
Cela fonctionne bien - je viens de trouver la même réponse ailleurs. Merci quand même! –
Eh bien, alors vous devriez accepter la réponse afin que les autres puissent voir que cette question est résolue ... – HakonB
Les #defines sont définis dans votre fichier de projet Visual Studio (fichier .dsp ou .vcproj). Ceci est un fichier texte simple. Vous pouvez donc modifier le fichier de projet à partir d'un script, puis appelez devenv.exe.
Dans mon cas, j'avais besoin d'utiliser devenv pour d'autres raisons, (et fonctionnait en cygwin, donc j'avais sed).
Je mis un symbole de compilation dans les propriétés du projet SED_REPLACE_THIS
puis utilisé sed pour le mettre à quelque chose de significatif (ie: DONT_CRASH_AS_MUCH
)
sed -i 's/SED_REPLACE_THIS/DONT_CRASH_AS_MUCH/g' project.csproj
dans les paramètres du projet, ajoutez la définition de préprocesseur suivante :
$ (MyPreprocessorDefinitions);
alors dans votre fichier * .bat, utilisez
REM #define MY_DEF
set MyPreprocessorDefinitions = MY_DEF
DEVENV.EXE ...
REM #undefine MY_DEF
set MyPreprocessorDefinitions =
En utilisant -Dname = valeur? – rsp
non, c'est syntaxe invalide - il montre l'aide devenv –