0

J'ai hérité d'un corps de source Visual C++ composé d'une douzaine de sous-projets. L'un d'eux est un projet "MakeAll" vide qui dépend de tous les autres, donc je peux construire le projet entier en activant le projet MakeAll et en sélectionnant "Build All". Je voudrais automatiser ce processus, et venant d'un environnement linux, mon instinct était de générer un Makefile et de construire à partir de la ligne de commande. L'EDI génère des fichiers .mak pour chacun des sous-projets, mais pas pour le MakeAll de niveau supérieur. (Je suppose que c'est parce qu'il ne contient que des dépendances.)Fichier .mak de niveau supérieur pour Visual Studio?

La réponse linux serait un Makefile qui descend simplement dans chacun des sous-projets et exécute make dans chacun d'eux. Mais un rapide coup d'œil aux fichiers .mak a montré que chacun souhaitait savoir lequel de plusieurs configurations utiliser - et apparemment certains utilisent Debug, certains utilisent Release, et d'autres utilisent des configurations concoctées par un développeur précédent.

Quelle est la méthode acceptée pour créer un ensemble de projets comme celui-ci à partir de la ligne de commande?

Merci!

Répondre

1

Vous ne devez pas utiliser make - si vous avez tout sous forme de fichiers solution (.sln), vous pouvez automatiser la construction en utilisant the msbuild tool:

msbuild solution.sln 

Aussi, pourquoi avez-vous un « makeall "projet? Visual Studio ne nécessite pas ce genre de piratage, il suffit de faire un "build all" et il va construire tout ce qui satisfait les dépendances, tout comme une règle "make all" typique.

+0

Merci pour les pointeurs. Le projet génère plusieurs exécutables individuels et d'autres pièces, et il existe plusieurs arbres de dépendance disjoints. Est-ce que je peux encore partir sans un MakeAll? –

+0

Visual Studio gère les dépendances comme le ferait make. Vous pouvez spécifier les dépendances entre les projets par (à partir de la mémoire) clic droit -> dépendances –

+0

Hmmm ... peut valoir la peine de mettre à jour MS VS6 juste pour les outils. Le meilleur conseil que j'ai reçu d'un numéro sans troll - merci aagin !! –

Questions connexes