Comment installer et utiliser «make» sous Windows?

127

Je suis les instructions de quelqu'un dont j'ai cloné le référentiel sur ma machine. Ce que je veux est simple: pouvoir utiliser la makecommande dans le cadre de la configuration de l'environnement de code. Mais j'utilise Windows, et j'ai cherché en ligne uniquement pour trouver un fichier make.exe à télécharger, un make-4.1.tar.gzfichier à télécharger (je ne sais pas quoi en faire ensuite), et des choses sur le téléchargement de MinGW (pour GNU; mais après l'avoir installé, je n'ai trouvé aucune mention de "make").

Je ne veux pas de compilateur GNU ou de choses connexes; Je veux uniquement utiliser "make" sous Windows. Veuillez me dire ce que je devrais faire pour y parvenir.

Merci d'avance!

Hashem Elezabi
la source
1
La simple installation makene résoudra probablement pas votre problème. De nombreux Makefiles sont écrits pour des systèmes de type Unix et vous demanderont d'installer une quantité importante d'utilitaires supplémentaires (y compris un compilateur pris en charge si le projet implique du code compilé) tels que Cygwin, ou simplement de passer à une plate-forme comme WSL si vous ne pouvez vraiment pas libérer vous-même à partir de Windows entièrement.
tripleee

Réponses:

159

makeest une commande GNU donc la seule façon de l'obtenir sur Windows est d'installer une version Windows comme celle fournie par GNUWin32 . Ou vous pouvez installer MinGW puis faire:

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

ou créez un lien vers l'exécutable réel, dans votre PATH. Dans ce cas, si vous mettez à jour MinGW, le lien n'est pas supprimé:

mklink c:\bin\make.exe C:\MinGW\bin\mingw32-make.exe

Une autre option utilise Chocolatey . Vous devez d'abord installer ce gestionnaire de packages. Une fois installé, vous devez simplement installer make:

choco install make

La dernière option consiste à installer un sous-système Windows pour Linux (WSL) , vous aurez donc une distribution Linux de votre choix intégrée dans Windows 10 où vous pourrez installer make, gccainsi que tous les outils dont vous avez besoin pour créer des programmes C.

Eduardo Yáñez Parareda
la source
1
Merci! Je ne savais pas que make était une commande GNU. J'ai vérifié le chemin que vous avez fourni et trouvé make.exe mais dans un chemin similaire (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe). J'ai ajouté ceci à la variable PATH et cela fonctionne!
Hashem Elezabi
2
Serait un moyen plus simple de créer un lien symbolique: mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. Donc, à l'avenir, si vous mettez à jour votre mingw, le lien serait intact.
kumarharsh
1
Juste en utilisant MSYS2, je n'ai pas pu utiliser mklink. MSYS2 pacmanpeut installer une marque pacman -S makequi ne fonctionne pas correctement . Au lieu de cela, mingw32-make.exeétait déjà présent dans msys64/mingw64/bin. Peut-être qu'il a été livré avec gcc. Je ne comprends pas pourquoi ce n'est pas simplement appelé make.exe. Je viens de le copier make.exe.
Neonit
2
Peut-être utile de mentionner que Visual Studio propose son propre utilitaire «make» nmake, voir la doc . Il est utilisable à partir de l'invite de commande VS, mais vous pouvez bien sûr l'ajouter au chemin. Notez cependant que les fonctionnalités sont assez limitées par rapport à GNU make, et que la documentation est quasiment inexistante ...
jmon12
1
@notacorn sorte de, mais vous pouvez accéder à vos dossiers «Windows» à partir des deux. Git bash avec / c, WSL avec / mnt / c.
Eduardo Yáñez Parareda
186

GNU make est disponible sur chocolatey.

  • Installez Chocolatey à partir d' ici .

  • Ensuite, choco install make.

Vous pourrez maintenant utiliser Make sur Windows.
J'ai essayé de l'utiliser sur MinGW, mais cela devrait également fonctionner sur CMD.

Vasantha Ganesh K
la source
31
La solution la plus simple IMO à partir de 2019.
My Stack Overfloweth
Y a-t-il une raison pour laquelle cela ne fonctionnerait pas dans Bash? @vasantha
user3614648
Remarque: il se peut que vous choco config set proxy ADDRESS:PORT
deviez
Il y a aussi un scoop si vous n'aimez pas à quel point chocolaty nécessite une session d'administration PowerShell
Jonathan Landrum
18

La réponse acceptée est une mauvaise idée en général car la création manuelle make.exerestera dans les parages et peut potentiellement causer des problèmes inattendus. Cela casse en fait RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105

Une alternative consiste à installer make via Chocolatey (comme indiqué par @Vasantha Ganesh K)

Une autre alternative consiste à installer MSYS2 à partir de Chocolatey et à utiliser à makepartir de C:\tools\msys64\usr\bin. S'il maken'est pas installé automatiquement avec MSYS2, vous devez l'installer manuellement via pacman -S make(comme indiqué par @Thad Guidry et @Luke).

cette conception
la source
3
J'ai installé ceci en utilisant Chocolatey mais il n'y a pas de make.exe dans C:\tools\msys64\usr\bin??
Rosdi Kasim
1
vous pouvez trouver pacman dans ce dossier, après cela, utilisez l'étape 3 de @thad
Luc
8

Si vous utilisez Windows 10, il est intégré à la fonctionnalité de sous-système Linux. Lancez simplement une invite Bash (appuyez sur la touche Windows, puis tapez bashet choisissez "Bash sur Ubuntu sur Windows"), cddans le répertoire que vous souhaitez créer et saisir make.

FWIW, les lecteurs Windows se trouvent dans /mnt, par exemple, le C:\lecteur est /mnt/cdans Bash.

Si Bash n'est pas disponible dans votre menu Démarrer, voici des instructions pour activer cette fonctionnalité Windows (Windows 64 bits uniquement):

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Stefan
la source
4
Le sous-système Linux n'est pas disponible sur Windows 10 Famille.
Martin Gray
J'utilise le sous-système Windows pour Linux (en particulier, Ubuntu 20.04 LTS, téléchargé depuis le Microsoft Store) sur mon Win10 Home ver.1809 depuis deux mois sans aucun problème. En parlant de make, il est disponible pour moi directement depuis la fenêtre du terminal Windows sans même lancer bash au préalable. Soigné.
Igor Soudakevitch
5

Téléchargez make.exe depuis leur site officiel GnuWin32

  • Dans la session de téléchargement, cliquez sur Package complet, à l'exception des sources .

  • Suivez les instructions d'installation.

  • Une fois terminé, ajoutez le <installation directory>/bin/à la variable PATH.

Vous pourrez maintenant utiliser make dans cmd.

Manu S Pillai
la source
Pourriez-vous s'il vous plaît m'aider à définir le répertoire sur la variable PATH.
shomit le
3

Une autre alternative est que si vous avez déjà installé minGW et ajouté le dossier bin à la variable d'environnement To Path, vous pouvez utiliser "mingw32-make" au lieu de "make".

Vous pouvez également créer un lien symbolique de "make" vers "mingw32-make", ou copier et changer le nom du fichier. Je ne recommanderais pas les options avant, elles fonctionneront jusqu'à ce que vous apportiez des modifications sur le minGW.

Persike
la source
Pouvez-vous préciser ce que vous entendez par «les options avant»?
Jona
1

Je pourrais suggérer une approche étape par étape.

  1. Visitez GNUwin
  2. Téléchargez le programme d'installation
  3. Suivez les instructions et installez GNUWin. Vous devez faire attention au répertoire dans lequel votre application est en cours d'installation. (Vous en aurez besoin plus tard1)
  4. Suivez ces instructions et ajoutez make à vos variables d'environnement. Comme je vous l'ai déjà dit, il est maintenant temps de savoir où votre application a été installée. FYI: Le répertoire par défaut est C:\Program Files (x86)\GnuWin32\.
  5. Maintenant, mettez à jour le PATH pour inclure le répertoire bin du programme nouvellement installé. Un exemple typique de ce que l'on pourrait ajouter au chemin est:...;C:\Program Files (x86)\GnuWin32\bin
Jaguarfi
la source
0

Une solution qui peut être utile si vous souhaitez utiliser l'émulateur de ligne de commande cmder. Vous pouvez installer le programme d'installation du package par choc. Tout d'abord, nous installons chocately dans l'invite de commande Windows en utilisant la ligne suivante:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
refreshenv

Une fois chocolatey installé, la commande choco peut être utilisée pour installer make. Une fois installé, vous devrez ajouter un alias à /cmder/config/user_aliases.cmd. La ligne suivante doit être ajoutée:

make="path_to_chocolatey\chocolatey\bin\make.exe" $*

Make fonctionnera alors dans l'environnement cmder.

MATTHEW SILVEUS
la source