Comment faire pour créer une solution Visual Studio 9.0 de sortie de génération de Cygwin et get ?

Je suis en train de mettre en place un système de génération automatisé sur Windows en utilisant Cygwin. Entre autres choses, il doit être capable de créer plusieurs solutions Visual C++. J'ai un script qui crée un environnement variables nécessaires de devenv et si vous tapez « devenv » dans bash il thématise l'IDE de Visual Studio. Aucun problème jusqu'à présent.

Je suis également en mesure de construire une solution d'invite de bash de cygwin en tapant

$ devenv /build de mysolution.sln Debug

Le problème est que ce n'est pas me montrer la sortie de génération. En fait, il ne pas même me dire ou non la génération a réussi. La commande se termine simplement, et je serai de retour l'invite. Alors je peux aller dans le répertoire de sortie et vérifier si oui ou non le fichier exécutable a été créé, mais pour un système de génération, je veux être en mesure de grep pour trouver des erreurs.

Ce que je fais mal ? Je peux voir la sortie de débogage lorsque j'ai exécuter devenv dans le shell windows, mais pas dans cygwin. Où est il envoyé, et comment puis-je obtenir ce retour ?

répondre #1

Cygwin trouveront et exécuter les fichiers .com ?

Il y a 2 devenv exécutables, une est devenv.com qui est une application en mode console qui gère stdin, stdout et stderr proxy pour d'autre l'exécutable, devenv.exe , qui est une application en mode GUI. Si devenv.exe est ce que cygwin se charge, il n'y n'aura aucun trucs stdin/stdout. Si devenv.com est en cours de chargement, il devrait lancer devenv.exe lors de la transmission par proxy les trucs stdout vers la console.

Peut-être que si vous spécifiez explicitement que devenv.com doit être exécuté ?

répondre #2

J'ai trouvé une solution de contournement.

devenv /build de mysolution.sln Debug/out mylog.txt

va vider la sortie de génération dans mylog.txt , qui est encore plus commode pour les builds automatisées. Je suis toujours curieux pourquoi le résultat ne s'affiche sur l'écran, cependant.

répondre #3

Avez-vous envisagé d'utiliser MSBuild? Vous pouvez utiliser msbuild pour générer des solutions VS sans aucune modification et il crache sortie sur stdout. La commande devrait ressembler à :

msbuild mysolution.sln /t:Build /p:"Configuration=Debug" /p:"Platform=Win32"

MSBuild est l'outil que MS automatisé conçue construit, donc elle peut-être convenir votre problème un peu mieux que de courir le devenv.exe.

répondre #4

dernière, j'ai entendu, msbuild dans vs 2008 ne pouvait pas gérer les projets c++. Je pense qu'il peut dans vs 2010.


Tags lesen

   
 
logo_banner