Wie installiere und verwende ich "make" in Windows?

124

Ich folge den Anweisungen von jemandem, dessen Repository ich auf meinen Computer geklont habe. Was ich möchte, ist einfach: den makeBefehl als Teil der Einrichtung der Codeumgebung verwenden zu können. Aber ich benutze Windows und habe nur online gesucht, um eine make.exe-Datei zum Herunterladen, eine make-4.1.tar.gzDatei zum Herunterladen (ich weiß nicht, was ich als nächstes damit machen soll) und Dinge zum Herunterladen von MinGW (für GNU; aber) zu finden Nach der Installation habe ich keine Erwähnung von "make" gefunden.

Ich möchte keinen GNU-Compiler oder ähnliches. Ich möchte nur "make" in Windows verwenden. Bitte sagen Sie mir, was ich tun soll, um dies zu erreichen.

Danke im Voraus!

Hashem Elezabi
quelle
1
Es makeist unwahrscheinlich, dass eine bloße Installation Ihr Problem löst. Viele Makefiles sind für Unix-ähnliche Systeme geschrieben und erfordern die Installation einer erheblichen Anzahl zusätzlicher Dienstprogramme (einschließlich eines unterstützten Compilers, wenn das Projekt kompilierten Code enthält) wie Cygwin oder einfach den Wechsel zu einer Plattform wie WSL, wenn Sie diese wirklich nicht freigeben können sich ganz von Windows.
Tripleee

Antworten:

156

makeist ein GNU-Befehl, daher können Sie ihn unter Windows nur installieren, indem Sie eine Windows-Version wie die von GNUWin32 bereitgestellte installieren . Oder Sie können MinGW installieren und dann Folgendes tun:

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

oder erstellen Sie in Ihrem PATH einen Link zur eigentlichen ausführbaren Datei. In diesem Fall wird der Link nicht gelöscht, wenn Sie MinGW aktualisieren:

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

Eine andere Option ist die Verwendung von Chocolatey . Zuerst müssen Sie diesen Paketmanager installieren. Nach der Installation müssen Sie einfach Folgendes installieren make:

choco install make

Die letzte Option ist die Installation eines Windows-Subsystems für Linux (WSL) , sodass Sie eine Linux-Distribution Ihrer Wahl in Windows 10 eingebettet haben, in der Sie installieren können make, gccsowie alle Tools, die Sie zum Erstellen von C-Programmen benötigen.

Eduardo Yáñez Parareda
quelle
1
Vielen Dank! Ich wusste nicht, dass make ein GNU-Befehl ist. Ich habe den von Ihnen angegebenen Pfad überprüft und make.exe gefunden, jedoch in einem ähnlichen Pfad (C: \ MinGW \ msys \ 1.0 \ bin \ make.exe). Ich habe dies zur PATH-Variablen hinzugefügt und es funktioniert!
Hashem Elezabi
2
Ein einfacherer Weg wäre, einen Symlink zu erstellen : mklink C:\bin\make.exe C:\MinGW\bin\mingw32-make.exe. Wenn Sie also in Zukunft Ihr MingW aktualisieren, ist der Link intakt.
Kumarshar
1
Nur mit MSYS2 konnte ich nicht verwenden mklink. MSYS2 pacmankann eine Marke installieren pacman -S make, die nicht richtig funktioniert . Stattdessen mingw32-make.exewar schon in msys64/mingw64/bin. Vielleicht wurde es mit geliefert gcc. Ich bin verwirrt, warum es nicht nur heißt make.exe. Ich habe es einfach kopiert make.exe.
Neonit
2
Vielleicht nützlich, um zu erwähnen, dass Visual Studio sein eigenes Dienstprogramm 'make' liefert nmake, siehe Dokument . Es kann über die VS-Eingabeaufforderung verwendet werden, aber Sie können es natürlich dem Pfad hinzufügen. Beachten Sie jedoch, dass die Funktionen im Vergleich zu GNU make ziemlich eingeschränkt sind und die Dokumentation fast nicht vorhanden ist ...
jmon12
1
@notacorn Art, aber Sie können von beiden auf Ihre "Windows" -Ordner zugreifen. Git Bash mit / c, WSL mit / mnt / c.
Eduardo Yáñez Parareda
183

GNU make ist auf schokoladig erhältlich.

  • Installieren Sie von hier aus schokoladig .

  • Dann choco install make.

Jetzt können Sie Make unter Windows verwenden.
Ich habe versucht, es auf MinGW zu verwenden, aber es sollte auch auf CMD funktionieren.

Vasantha Ganesh K.
quelle
31
Die einfachste Lösung IMO ab 2019.
Mein Stapel läuft am
Gibt es einen Grund, warum dies in Bash nicht funktionieren würde? @vasantha
user3614648
Hinweis: Möglicherweise muss der richtige Proxy mitchoco config set proxy ADDRESS:PORT
weshouman
Es gibt auch Informationen, wenn Sie nicht mögen, wie Schokolade eine Admin-Powershell-Sitzung erfordert: github.com/lukesampson/scoop/wiki/Chocolatey-Comparison
Jonathan Landrum
18

Die akzeptierte Antwort ist im Allgemeinen eine schlechte Idee, da die manuell erstellte Antwort erhalten bleibt make.exeund möglicherweise unerwartete Probleme verursachen kann. RubyInstaller wird tatsächlich beschädigt: https://github.com/oneclick/rubyinstaller2/issues/105

Eine Alternative ist die Installation von make via Chocolatey (wie von @Vasantha Ganesh K hervorgehoben)

Eine andere Alternative ist die Installation von MSYS2 von Chocolatey und die Verwendung von makefrom C:\tools\msys64\usr\bin. Wenn makees mit MSYS2 nicht automatisch installiert wird, müssen Sie es manuell über installieren pacman -S make(wie von @Thad Guidry und @Luke hervorgehoben).

Das ist mein Design
quelle
3
Ich habe dies mit Chocolatey installiert, aber es gibt keine make.exe in C:\tools\msys64\usr\bin??
Rosdi Kasim
1
Sie können Pacman in diesem Ordner finden, danach verwenden Sie Schritt 3 von @thad
Luke
8

Wenn Sie Windows 10 verwenden, ist es in die Linux-Subsystemfunktion integriert. Starten Sie einfach eine Bash-Eingabeaufforderung (drücken Sie die Windows-Taste, geben Sie ein bashund wählen Sie "Bash unter Ubuntu unter Windows") cdin das Verzeichnis, das Sie erstellen und eingeben möchten make.

FWIW, die Windows-Laufwerke befinden sich in /mnt, z. B. befindet sich das C:\Laufwerk /mnt/cin Bash.

Wenn Bash in Ihrem Startmenü nicht verfügbar ist, finden Sie hier Anweisungen zum Aktivieren dieser Windows-Funktion (nur 64-Bit-Windows):

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

Stefan
quelle
4
Das Linux-Subsystem ist unter Windows 10 Home nicht verfügbar.
Martin Gray
Ich habe Windows Subsystem für Linux (insbesondere Ubuntu 20.04 LTS, heruntergeladen aus dem Microsoft Store) in den letzten zwei Monaten problemlos auf meinem Win10 Home Version 1809 verwendet. Apropos make, es steht mir direkt im Windows Terminal-Fenster zur Verfügung, ohne zuerst Bash zu starten. Ordentlich.
Igor Soudakevitch
5

Laden Sie make.exe von der offiziellen Website GnuWin32 herunter

  • Klicken Sie in der Download-Sitzung auf Paket abschließen, außer Quellen .

  • Befolgen Sie die Installationsanweisungen.

  • Wenn Sie fertig sind, fügen Sie die <installation directory>/bin/zur PATH-Variablen hinzu.

Jetzt können Sie make in cmd verwenden.

Manu S Pillai
quelle
Könnten Sie mir bitte helfen, wie das Verzeichnis auf die Variable PATH gesetzt wird?
Shomit
3

Eine andere Alternative ist, wenn Sie minGW bereits installiert und dem Ordner bin die Umgebungsvariable Path hinzugefügt haben, können Sie "mingw32-make" anstelle von "make" verwenden.

Sie können auch einen Symlink von "make" zu "mingw32-make" erstellen oder den Namen der Datei kopieren und ändern. Ich würde die Optionen vorher nicht empfehlen, sie funktionieren erst, wenn Sie Änderungen am minGW vornehmen.

Persike
quelle
Können Sie angeben, was Sie unter "den Optionen vor" verstehen?
Jona
1

Ich könnte einen schrittweisen Ansatz vorschlagen.

  1. Besuchen Sie GNUwin
  2. Laden Sie das Setup-Programm herunter
  3. Folgen Sie den Anweisungen und installieren Sie GNUWin. Sie sollten auf das Verzeichnis achten, in dem Ihre Anwendung installiert wird. (Du wirst es später brauchen1)
  4. Befolgen Sie diese Anweisungen und fügen Sie Ihren Umgebungsvariablen make hinzu. Wie ich Ihnen bereits sagte, ist es jetzt an der Zeit zu wissen, wo Ihre Anwendung installiert wurde. Zu Ihrer Information: Das Standardverzeichnis ist C:\Program Files (x86)\GnuWin32\.
  5. Aktualisieren Sie nun den PATH so, dass er das bin-Verzeichnis des neu installierten Programms enthält. Ein typisches Beispiel dafür, was man dem Pfad hinzufügen könnte, ist:...;C:\Program Files (x86)\GnuWin32\bin
Jaguarfi
quelle
0

Eine Lösung, die hilfreich sein kann, wenn Sie den Befehlszeilenemulator cmder verwenden möchten. Sie können das Paketinstallationsprogramm vollständig installieren. Zuerst installieren wir chocately in der Windows-Eingabeaufforderung mit der folgenden Zeile:

@"%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

Nach der Installation vonocolatey kann der Befehl choco verwendet werden, um make zu installieren. Nach der Installation müssen Sie /cmder/config/user_aliases.cmd einen Alias ​​hinzufügen. Die folgende Zeile sollte hinzugefügt werden:

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

Make wird dann in der cmder-Umgebung ausgeführt.

MATTHEW SILVEUS
quelle