99 votes

Comment utiliser GNU Make sous Windows ?

J'ai installé MinGW et MSYS, ajouté C:\MinGW\bin a PATH mais je ne peux toujours pas lancer Makefile sous Windows. cmd . Je voudrais exécuter cmd.exe et y taper, par exemple, make all mais mon cmd dit qu'il n'y a pas de telle commande.

Que dois-je faire ? Je ne veux pas utiliser le shell MSYS, ce n'est pas le but. Une idée pour utiliser GNU Make dans le cmd de Windows comme je peux le faire dans Ubuntu ? Je ne suis pas intéressé par Cygwin .

1 votes

Vous devrez l'ajouter à PATH sous les variables d'environnement dans vos paramètres système.

0 votes

@slugonamission : Je l'ai déjà fait, j'ai écrit :)

0 votes

Exécuter make.exe au lieu de make ?

105voto

user1594322 Points 481

Voici comment je l'ai fait fonctionner :

  copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

Ensuite, je suis capable d'ouvrir une invite de commande et de taper make :

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

Ce qui veut dire que ça marche maintenant !

10 votes

@Imray Au cas où ce ne serait pas encore tout à fait clair : le make est distribué dans le fichier mingw32-make.exe . Puisque le répertoire c:\MinGW\bin est sur le chemin du système, vous pouvez soit utiliser mingw32-make comme une commande ou une copie (version plus sûre du renommage) de la commande mingw32-make.exe à juste make.exe .

1 votes

Vous devriez éviter de faire de msys ou mingw une partie de vos variables d'environnement pour des raisons d'encombrement, mais aussi parce que le répertoire msys est local à lui-même. Le chemin dans msys vous permettra d'utiliser make si c'est dans le bin de mingw64, mais je ne parle pas de ce problème. Aussi, sans parler du problème, vous devriez créer un lien HARD vers mingw32-make.exe en tant que make.exe, ce qui rend la vie plus facile et ne pas avoir à cloner l'exe. Essayez : mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe

0 votes

Renommer un fichier est facile, mais aussi facile d'oublier de le faire lorsqu'une mise à jour est installée. Ce que vous pourriez faire pour obtenir également le make "alias" est d'utiliser doskey. Grâce à la rétrocompatibilité de Windows, vous pouvez avoir un autorun.bat sur votre lecteur C : et Windows l'exécutera chaque fois que vous lancerez une invite cmd (tout comme un .bashrc dans linux, mais à l'échelle du système). Dans ce autorun.bat, vous mettez la ligne @doskey make=mingw32-make.exe $* qui indique à Windows d'utiliser mingw32-make.exe lorsque vous tapez make et le $* ajoute tous les arguments que vous passez à make à mingw32-make.exe.

9voto

Colin 't Hart Points 3200

J'utilise GNU Make du projet GnuWin32, voir http://gnuwin32.sourceforge.net/ mais il n'y a pas eu de mises à jour depuis un certain temps maintenant, donc je ne suis pas sûr du statut de ce projet.

6voto

Delfino Points 257

Bien que cette question soit ancienne, elle est toujours posée par de nombreuses personnes qui utilisent MSYS2 .

J'ai commencé à l'utiliser cette année pour remplacer CygWin, et j'en suis assez satisfait.

Pour installer make Ouvrez le shell MSYS2 et tapez les commandes suivantes :

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v

4voto

Ivo Merchiers Points 832

Comme alternative, si vous voulez juste installer make, vous pouvez utiliser la commande gestionnaire de paquets chocolatés pour installer gnu make en utilisant

choco install make -y

Cela permet de traiter tous les problèmes de chemin que vous pourriez avoir.

0 votes

Il est préférable d'utiliser Powershell, en tant qu'administrateur, pour cette opération. En particulier, lorsque j'ai essayé ceci avec Git Bash et sans l'option -y Le Chocolat m'a prévenu que je devais m'exécuter en tant qu'utilisateur normal, puis m'a donné un Do you want to continue?([Y]es/[N]o): N puis n'a pas répondu lorsque j'ai appuyé sur ENTER. J'ai dû sortir par Ctrl-C à la fin, ce qui a entraîné un autre message d'avertissement. Apparemment, Chocolatey ne peut pas gérer le Ctrl-C en toute sécurité.

3voto

Buggieboy Points 1875

Vous pouvez ajouter le dossier de l'application à votre chemin d'accès à partir d'une invite de commande en utilisant :

setx PATH "%PATH%;c : \MinGW\bin "

Notez que vous devrez probablement ouvrir une nouvelle fenêtre de commande pour que le paramètre de chemin modifié prenne effet.

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