2010-07-08 4 views
3

Je voudrais construire toutes les configurations d'un projet VS 2008 C++ sur la ligne de commande. Quelque chose comme:Comment créer toutes les configurations d'un projet Visual Studio 2008 C++ sur la ligne de commande?

devenv TheProject.vcproj/build/nologo

Mais cela ne fonctionne pas parce que la commande/build insiste pour avoir une configuration comme ce qui suit:

devenv TheProject.vcproj/build "Version | Win32"/nologo

Existe-t-il un moyen d'obtenir une version de ligne de commande de toutes les configurations? dans le fichier vcproj?

Répondre

2

Je pensais que vous pouvez faire ce que vous voulez avec MSBUILD, mais il semble que ce n'est pas beaucoup mieux pour DEVENV.

Vous devez toujours spécifier chaque configuration sur la ligne de commande, bien qu'il soit facile d'écrire un fichier batch pour accomplir ceci avec MSBUILD ou DEVENV.

Il semble que les versions précédentes de l'environnement de développement aient pris en charge une option "ALL", contrairement à VS 2008.

http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/8701b3d0-d5c9-45fb-8dd4-e7700c8caca6/

+0

L'écriture d'un fichier de commandes pour spécifier chaque configuration est difficile parce que je suis itérer des dizaines de fichiers * .vcproj qui ne disposent pas d'un nombre constant de configurations. Le script que j'utilise parcourt la structure du répertoire à la recherche de ces fichiers * .vcproj. Son but est de s'assurer que chaque projet compile, et j'aimerais l'étendre pour vérifier que chaque configuration de chaque projet est compilée. – Charles

+0

Les fichiers * .vcproj sont XML, vous pouvez donc envisager d'écrire un programme pour analyser les fichiers du projet et extraire les configurations, puis écrire les résultats dans un fichier batch ou une configuration MSBUILD. – Avalanchis

+0

Oui. Cela m'est venu à l'esprit, mais j'essayais d'éviter d'avoir à le faire. Vous pouvez imaginer à quel point mon script est simple. L'ajout d'une logique pour analyser les configurations des fichiers vcproj augmenterait sa taille et sa complexité par les grandeurs. – Charles

0

N'a pas utilisé VS depuis longtemps. Mais le panneau des propriétés du projet utilisé pour afficher la ligne de commande générée pour lier et compiler un projet pour une configuration particulière. Il était sous l'onglet Advanced. Est-ce que l'utilisation directe de la ligne de commande servira votre objectif? Cette méthode n'utilisera pas l'IDE VS du tout.

Alternativement,

Étapes:

  1. Création d'un projet qui a une dépendance à l'égard de tous les autres projets.

  2. Ecrivez un script qui construit séquentiellement ce projet avec différentes configurations. Vous ne pouvez pas créer une seule configuration qui encapsule toutes les autres configurations.

0

Pas directement, mais vous pouvez avoir des projets dépendent d'autres projets - de sorte que vous pourriez avoir un projet « tout » ou « installer » avec un dependacy de tout le reste.

Questions connexes