web-dev-qa-db-fra.com

Comment utiliser les makefiles dans Visual Studio?

J'ai beaucoup entendu parler des makefiles et de la manière dont ils simplifient le processus de compilation. J'utilise VS2008. Quelqu'un peut-il s'il vous plaît suggérer des références en ligne ou des livres où je peux en savoir plus sur la façon de les gérer?

61
chester89

Un gars d'UNIX vous l'a probablement dit. :)

Vous pouvez utiliser des makefiles dans VS, mais lorsque vous le faites, il contourne toutes les fonctionnalités intégrées de l'EDI de MSVC. Les makefiles sont fondamentalement la réinterprétation_diffusion du constructeur. OMI, le plus simple est simplement d’utiliser Solutions.

21
John Dibling

L'utilitaire de maintenance de programme Microsoft (NMAKE.EXE) est un outil qui permet de générer des projets en fonction de commandes contenues dans un fichier de description. 

Référence NMAKE

50

Pour répondre aux questions spécifiques ...

J'utilise VS2008. Quelqu'un peut-il suggérer des références en ligne ?__. ou des livres où je peux en savoir plus sur la façon de les gérer?

Ce lien vous donnera une bonne introduction aux Makefiles en le mappant avec Visual Studio.

Introduction aux Makefiles pour les développeurs Visual Studio

J'ai beaucoup entendu parler des makefiles et de la manière dont ils simplifient la compilation processus.

Les Makefiles sont puissants et flexibles mais peuvent ne pas être la meilleure solution pour simplifier le processus. Considérez CMake qui résume bien le processus de construction qui est expliqué dans ce lien.

CMake pour les développeurs Visual Studio

13
ap-osd

En fait, j'utilise un fichier makefile pour créer toutes 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 de Visual Studio trop compliqué. 

7
Jon Trauntvein

L'équivalent VS d'un makefile est une "solution" (trop simplifiée, je sais).

4
Joel Coehoorn

Les makefiles et les fichiers de compilation concernent l’automatisation de votre compilation. Si vous utilisez un script tel que MSBuild ou NAnt, vous pouvez générer votre projet ou votre solution directement à partir de la ligne de commande. Cela permet ensuite d'automatiser la construction, de la faire exécuter par un serveur de construction.

En plus de la création de votre solution, il est typique qu'un script de construction comporte une tâche permettant d'exécuter des tests unitaires, la couverture et la complexité du code de rapport, etc.

2
mmiika

Si vous posez des questions sur les fichiers Make en ligne de commande, vous pouvez exporter un fichier Make ou appeler MSBuild dans un fichier de solution à partir de la ligne de commande. Que voulez-vous faire avec le makefile?

Vous pouvez effectuer une recherche sur SO MSBuild pour plus de détails.

1
Tim

Pour résumer avec une solution complète ...

Il y a 2 options:

  1. Utiliser NMAKE à partir de l'invite de commande du développeur pour Visual Studio

Le raccourci existe dans votre menu Démarrer. Regardez à l'intérieur du makefile pour voir s'il y a des actions 'setup'. Les actions apparaissent comme le premier mot avant les deux points. En règle générale, tous les bons makefiles ont une action "all" afin que vous puissiez taper: NMAKE all

  1. Créez une solution et des fichiers de projet pour chaque fichier binaire.

La plupart des solutions open source bien conçues fournissent un fichier makefile avec une action d’installation qui vous permet de générer des fichiers de projet Visual Studio. Consultez-les en premier dans votre fichier Makefile.

Sinon, vous devez faire glisser chaque fichier ou groupe de fichiers et dossiers dans chaque nouveau projet que vous créez dans Visual Studio.

J'espère que cela t'aides. 

0
justdan23