2010-09-03 2 views
2

Je crée une solution C++ avec Visual Studio 2005.Comment déterminer si une construction provient de l'éditeur ou de la ligne de commande?

Parfois, j'ouvre la solution dans Visual Studio et la compile à partir de l'environnement de développement. D'autres fois, je le construis à partir de la ligne de commande en utilisant msbuild.exe. Je me demande s'il existe un moyen de déterminer lequel de ces deux types de build j'utilise au moment de la compilation (par exemple, une macro ou quelque chose comme ça). Je veux changer le chemin de mes fichiers de sortie en fonction de cette détermination. Donc, si je construis à partir de Visual Studio, je mettrais mes fichiers de sortie dans FolderA mais si je construis à partir de la ligne de commande, je mettrais mes fichiers de sortie dans FolderB. Est-ce possible?

Répondre

0

Peut-être que vous pouvez passer un paramètre de ligne de commande lors de la construction à partir de la ligne de commande qui indiquerait que vous construisez la solution à partir de la ligne de commande. Sinon, vous pouvez supposer que vous construisez à partir de Visual Studio.

+0

Ce serait un bon travail si aucune macro n'est fournie automatiquement par Visual Studio. J'étais curieux de savoir s'il y en avait par défaut. Sinon, j'ajouterai le mien comme vous le suggérez. – Brian

0

Je n'ai pas la réponse à votre question générale, mais pour changer le chemin de sortie, avez-vous pensé à ajouter des configurations de projet? Vous pouvez copier les configurations de projet et mettre à jour le chemin de sortie des nouveaux.

+0

Je n'avais pas pensé à créer une nouvelle configuration de projet pour la construction de la ligne de commande. Ce n'est pas une mauvaise idée, mais cela nécessiterait de maintenir deux configurations si nous devions modifier la configuration à l'avenir. Merci pour la contribution! – Brian

+0

C'est vrai, même si VC++ a l'idée de mettre certains paramètres de projet dans un fichier externe et la possibilité que les paramètres soient hérités d'une sorte de "solution par défaut". Peut être utile d'enquêter si vous ne trouvez pas une meilleure solution. – Timores

Questions connexes