Comment exécuter un makefile sous Windows?


187

J'ai quelques démos que j'ai téléchargées et elles sont livrées avec un Makefile.win et un Makefile.sgi. Comment puis-je les exécuter dans Windows pour compiler les démos?


1
Je devrais mentionner que je suis plus une personne Linux mais que je dois utiliser Windows maintenant, donc je suis un peu ignorant.
Kim

1
Un guide très clair est donné ici
Sherzod

Réponses:


114

Si vous avez Visual Studio, exécutez l'invite de commande Visual Studio à partir du menu Démarrer, accédez au répertoire contenant Makefile.winet tapez ceci:

nmake -f Makefile.win

Vous pouvez également utiliser l'invite de commande normale et exécuter vsvars32.bat (c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools for VS2008). Cela configurera l'environnement pour exécuter nmake et trouver les outils du compilateur.


5
Comment exécuter l'invite de commande de Visual Studio à partir du menu Démarrer?
Kim

D'accord, j'ai compris. Mais bien sûr, il ne compilerait pas à cause d'erreurs. Juste ma chance. Merci quand même.
Kim

9
Pour ceux qui utilisent VS2012, l'invite de commande est appelée «Invite de commandes du développeur pour VS2012». Démarrer -> Rechercher -> "commande" est comment je l'ai trouvé.
undeniablyrob

@NSD: Vous pouvez essayer d'autres «make», mais ces fichiers sont généralement écrits contre le dialecte de nmake et avec l'hypothèse que VS est installé et sur le chemin. Vous constaterez peut-être que le VS Express gratuit suffit.
Marcelo Cantos

@MarceloCantos Je suis un noob dans Linux et Making. Et si j'ai un fichier .am et .mk. Je n'ai aucun fichier .win. J'essaye de faire wget, btw.
Cheeku du

53

Découvrez cygwin , un environnement similaire à Unix pour Windows


6
cygwin a bien fonctionné pour moi !. J'ai juste eu à vérifier, lors de l'installation, quelques paquets dans Devel: 'make' et aussi 'gcc' comme expliqué ici .
Damien Leroux

6
Je recommande également d'installer cygwin en utilisant chocolatey, donc la commande à obtenir makeest la suivante:choco install make --source=cygwin
zygimantus

après avoir installé avec choco, comment puis-je l'ajouter à mon shell de commande? il y a un chemin à ajouter?
XaBerr

2
Si vous l'avez installé avec choco, ajoutez cette ligne (avec des guillemets) à votre variable de chemin dans les variables système "C: \ tools \ cygwin \ bin"
Ali.Ghodrat

40

Consultez GNUWin de faire , ce qui fournit un port natif pour Windows (sans nécessiter un environnement d'exécution complet comme Cygwin)


8
De plus, veuillez ajouter "C: \ Program Files (x86) \ GnuWin32 \ bin" à votre PATH système.
ccy

29

Voici ma façon rapide et temporaire d'exécuter un Makefile

  • télécharger la marque depuis SourceForge: gnuwin32
  • Installez-le
  • aller dans le dossier d'installation

C: \ Program Files (x86) \ GnuWin32 \ bin

  • copiez tous les fichiers de la corbeille dans le dossier qui contient Makefile

libiconv2.dll libintl3.dll make.exe

  • ouvrez le cmd (vous pouvez le faire avec un clic droit avec shift ) dans le dossier qui contient Makefile et exécutez

make.exe

terminé.

De plus, vous pouvez ajouter des arguments après la commande, tels que

make.exe skel


11
Il est probablement préférable d'ajouter un binrépertoire à PATHla variable d'environnement. Cela rendra make.exedisponible de n'importe où.
Yukulélé

1
Je pense que c'est fait par défaut - du moins c'était le cas lorsque j'ai installé gnuwin32. Bien sûr, copier les fichiers est de toute façon une mauvaise pratique.
JFFIGK

1
Ce n'est pas fait par défaut (ou pas dans mon cas). En l'ajoutant au chemin, vous pouvez exécuter make à partir du dossier du projet.
Victor

Travaillez comme un champion
trungducng

28

Cette question est peut-être ancienne, mais ma solution, qui est de loin la plus simple pour tous les utilisateurs de Windows que j'ose dire, n'est pas répertoriée.

Étape 1: Installez le gestionnaire de packages chocolaté pour WINDOWS (compatible avec Windows 7+ / Windows Server 2003+) ici

Étape 2: exécuterchoco install make

Étape 3: Profitez d'un gestionnaire de packages bien entretenu. Make aura été ajouté au chemin global et fonctionnera sur toutes les CLI (powershell, git bash, cmd…)

Je ne suis pas affilié à choco mais c'est JUSTE QUE BON.


8

Si vous installez Cygwin . Assurez-vous de sélectionner la marque dans le programme d'installation. Vous pouvez ensuite exécuter la commande suivante à condition de disposer d'un Makefile.

make -f Makefile

https://cygwin.com/install.html

6

Avec Visual Studio 2017, j'ai dû ajouter ce dossier à ma variable d'environnement de chemin Windows 10:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

Il y a aussi HostX86


3

Tout d'abord, ajoutez le chemin des outils communs de Visual Studio ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) dans le chemin du système. Pour savoir comment ajouter un chemin dans le chemin du système, veuillez consulter ce site Web: http://www.computerhope.com/issues/ch000549.htm . Vous avez juste besoin de cela une fois.

Après cela, chaque fois que vous en avez besoin, ouvrez une ligne de commande et exécutez vsvars32.batpour ajouter tous les chemins des outils de Visual Studio requis dans le chemin du système.

Ensuite, vous pouvez appeler nmake -f makefile.mak

PS: Le chemin des outils communs de Visual Studio peut être différent dans votre système. Veuillez le modifier en conséquence.


3

S'il s'agit d'un "NMake Makefile", c'est-à-dire que la syntaxe et la commande sont compatibles avec NMake, il fonctionnera nativement sous Windows. Habituellement Makefile.win(le .winsuffixe) indique qu'il s'agit d'un makefile compatible avec Windows NMake. Alors tu pourrais essayer nmake -f Makefile.win.

Les Makefiles Linux standard sont souvent fournis et NMakesemblent prometteurs. Cependant, le lien suivant prend un simple Makefile Linux et explique quelques problèmes fondamentaux que l'on peut rencontrer. Il suggère également quelques alternatives à la gestion des Makefiles Linux sous Windows.

Makefiles sous Windows


1

J'ai essayé avec cygwin et gnuwin, et cela n'a pas fonctionné pour moi, je suppose parce que le makefile utilisait principalement du code Linux spécifique.

Ce qui a fonctionné, c'est d'utiliser Ubuntu Bash pour Windows 10 . C'est une merveille si vous venez de MAC comme c'est mon cas:

  1. Pour installer Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Une fois dans la console, pour installer make tapez simplement "make" et il donne les instructions pour le télécharger.

Suppléments:

  1. Activer le copier / coller utile sur bash: copier coller dans Bash sur Ubuntu sous Windows
  2. Dans mon cas, la marque s'appelle Maven, je dois donc l'installer également: /ubuntu/722993/unable-to-locate-package-maven
  3. Pour accéder au système de fichiers Windows C: lecteur, par exemple: "cd / mnt / c /"

J'espère que ça aide


0

J'utilise un ensemble d'outils MinGW qui fournit un mingw32-makeoutil de construction, si vous l'avez dans votre PATHvariable système , dans l'invite de commande Windows, allez simplement dans le répertoire contenant les fichiers et tapez cette commande:

mingw32-make -f Makefile.win

et c'est fait.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.