67 votes

Comment utiliser les makefiles dans Visual Studio?

J'ai entendu beaucoup parler des makefiles et comment ils simplifient le processus de compilation. J'utilise VS2008. Est-ce que quelqu'un pourrait suggérer des références en ligne ou des livres où je pourrais en apprendre davantage sur comment les gérer?

0 votes

Il semble que le projet VS de style makefile ne fonctionne pas avec certaines fonctionnalités de VS, telles que le Code Map.

0 votes

Il semble que le projet VS de style makefile ne fonctionne pas avec certaines fonctionnalités de VS, telles que la carte de code, même si vous ajoutez l'option de compilation /FR pour générer les informations de navigation.

56voto

uvts_cvs Points 4163

L'utilitaire de maintenance de programme Microsoft (NMAKE.EXE) est un outil qui construit des projets basés sur des commandes contenues dans un fichier de description.

Référence NMAKE

18voto

John Dibling Points 56814

Un passionné de UNIX vous l'a probablement dit. :)

Vous pouvez utiliser des makefiles dans VS, mais quand vous le faites, cela contourne toute la fonctionnalité intégrée dans l'IDE de MSVC. Les makefiles sont essentiellement le reinterpret_cast du constructeur. À mon avis, la chose la plus simple est juste d'utiliser des Solutions.

18 votes

Les fichiers .vcproj ont beaucoup de données superflues et deviennent rapidement ingérables sauf si vous utilisez autre chose pour les générer (comme scons, cmake).

65 votes

Plus Microsoft utilise des makefiles en interne. Personne n'oserait même penser à charger le code source de Windows dans un fichier de solution.

73 votes

Celà ne répond pas vraiment à la question.

7voto

Jon Trauntvein Points 1513

J'utilise en fait un fichier makefile pour construire les dépendances nécessaires avant d'appeler devenv pour construire un projet particulier comme suit :

debug: coratools_debug
    devenv coralib.vcproj /build debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

Vous pouvez également utiliser l'outil msbuild pour faire la même chose :

debug: coratools_debug
    msbuild coralib.vcxproj /p:Configuration=debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

À mon avis, c'est beaucoup plus facile que d'essayer de comprendre le schéma de gestion de projet visual studio trop compliqué.

2voto

mmiika Points 3027

Les fichiers Makefiles et de construction visent à automatiser votre construction. Si vous utilisez un script comme MSBuild ou NAnt, vous pouvez construire votre projet ou solution directement à partir de la ligne de commande. Cela rend possible l'automatisation de la construction et son exécution par un serveur de construction.

En plus de construire votre solution, il est typique qu'un script de construction inclue des tâches pour exécuter des tests unitaires, générer des rapports de couverture de code et de complexité, et plus encore.

1voto

Tim Points 13334

Si vous parlez des makefiles réels en ligne de commande, vous pouvez exporter un makefile, ou vous pouvez appeler MSBuild sur un fichier solution à partir de la ligne de commande. Que voulez-vous exactement faire avec le makefile?

Vous pouvez rechercher sur SO des informations supplémentaires sur MSBuild.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X