Wie führe ich ein Makefile in Windows aus?


182

Ich habe einige Demos heruntergeladen und sie werden mit Makefile.win und Makefile.sgi geliefert. Wie kann ich diese in Windows ausführen, um die Demos zu kompilieren?


1
Ich sollte erwähnen, dass ich eher eine Linux-Person bin, aber ich muss jetzt Windows verwenden, also bin ich ein wenig ahnungslos.
Kim

1
Sehr klare Führung gegeben ist hier
Sherzod

Antworten:


113

Wenn Sie über Visual Studio verfügen, führen Sie die Eingabeaufforderung von Visual Studio über das Startmenü aus, wechseln Sie in das Verzeichnis, das Folgendes enthält, Makefile.winund geben Sie Folgendes ein:

nmake -f Makefile.win

Sie können auch die normale Eingabeaufforderung verwenden und vsvars32.bat ausführen (c: \ Programme (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools für VS2008). Dadurch wird die Umgebung so eingerichtet, dass nmake ausgeführt und die Compiler-Tools gefunden werden.


5
Wie führe ich die Visual Studio-Eingabeaufforderung über das Startmenü aus?
Kim

Okay, ich habe es herausgefunden. Aber natürlich würde es wegen Fehlern nicht kompiliert. Nur mein Glück. Trotzdem danke.
Kim

9
Für Benutzer mit VS2012 heißt die Eingabeaufforderung "Developer Command Prompt for VS2012". Start -> Suchen -> "Befehl" habe ich gefunden.
unbestreitbarrob

@NSD: Sie können andere "make" ausprobieren, aber solche Dateien werden normalerweise gegen den Dialekt von nmake und unter der Annahme geschrieben, dass VS installiert ist und sich auf dem Pfad befindet. Möglicherweise reicht der kostenlose VS Express aus.
Marcelo Cantos

@MarceloCantos Ich bin ein Neuling in Linux und Making. Was ist, wenn ich eine AM- und eine MK-Datei habe? Ich habe keine .win-Datei. Ich versuche übrigens wget zu machen.
Cheeku

53

Schauen Sie sich cygwin an , eine Unix-ähnliche Umgebung für Windows


6
Cygwin hat gut für mich funktioniert!. Ich musste während der Installation nur einige Pakete überprüfen Devel: 'make' und auch 'gcc', wie hier erklärt .
Damien Leroux

6
Ich empfehle auch, Cygwin mit Chocolatey zu installieren. Der folgende Befehl makelautet:choco install make --source=cygwin
Zygimantus

Wie kann ich es nach der Installation mit choco zu meiner Befehlsshell hinzufügen? Gibt es einen Pfad, der hinzugefügt werden muss?
XaBerr

2
Wenn Sie es mit choco installiert haben, fügen Sie diese Zeile (mit Anführungszeichen) zu Ihrer Pfadvariablen in den Systemvariablen "C: \ tools \ cygwin \ bin"
Ali.Ghodrat

39

Schauen Sie sich GNUWin ‚s make , die einen nativen Port für Windows bietet (ohne eine vollständige Laufzeitumgebung wie Cygwin erforderlich)


7
Fügen Sie außerdem "C: \ Programme (x86) \ GnuWin32 \ bin" zu Ihrem Systempfad hinzu.
Ccy

29

Hier ist meine schnelle und vorübergehende Möglichkeit, ein Makefile auszuführen

  • Download make von SourceForge: gnuwin32
  • es installieren
  • Gehen Sie zum Installationsordner

C: \ Programme (x86) \ GnuWin32 \ bin

  • Kopieren Sie alle Dateien im Bin in den Ordner, der Makefile enthält

libiconv2.dll libintl3.dll make.exe

  • Öffnen Sie das Cmd (Sie können es mit einem Rechtsklick mit Umschalttaste tun ) in dem Ordner, der Makefile enthält, und führen Sie es aus

make.exe

getan.

Außerdem können Sie nach dem Befehl Argumente hinzufügen, z

make.exe Skel


11
Es ist wahrscheinlich besser, ein binVerzeichnis zur PATHUmgebungsvariablen hinzuzufügen . Dies wird make.exevon überall zur Verfügung gestellt.
Yukulélé

1
Ich denke, es ist standardmäßig erledigt - zumindest war das der Fall, als ich gnuwin32 installiert habe. Natürlich ist das Kopieren der Dateien sowieso eine schlechte Praxis.
JFFIGK

1
Dies erfolgt nicht standardmäßig (oder in meinem Fall nicht). Wenn Sie es dem Pfad hinzufügen, können Sie make aus dem Projektordner ausführen .
Victor

Arbeite wie ein Champion
trungducng

26

Diese Frage mag alt sein, aber meine Lösung, die für jeden Windows-Benutzer, den ich glaube, bei weitem die einfachste ist, ist nicht aufgeführt.

Schritt 1: Installieren Sie den chocolatey Paketmanager für WINDOWS (kompatibel zu Windows 7 + / Windows Server 2003+) hier

Schritt 2: Ausführenchoco install make

Schritt 3: Profitieren Sie von einem gut gewarteten Paketmanager. Make wurde dem globalen Pfad hinzugefügt und läuft auf allen CLIs (Powershell, Git Bash, Cmd…).

Ich bin nicht mit Choco verbunden, aber es ist einfach so gut.


8

Wenn Sie Cygwin installieren . Stellen Sie sicher, dass Sie im Installationsprogramm make auswählen. Sie können dann den folgenden Befehl ausführen, sofern Sie über ein Makefile verfügen.

make -f Makefile

https://cygwin.com/install.html

6

Mit Visual Studio 2017 musste ich diesen Ordner zu meiner Windows 10-Pfadumgebungsvariablen hinzufügen:

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

Es gibt auch HostX86


3

Fügen Sie zunächst den Pfad der allgemeinen Tools ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) von Visual Studio ( ) zum Systempfad hinzu. Informationen zum Hinzufügen eines Pfads zum Systempfad finden Sie auf dieser Website: http://www.computerhope.com/issues/ch000549.htm . Sie müssen dies nur einmal tun.

Öffnen Sie danach bei Bedarf eine Befehlszeile und führen Sie sie aus vsvars32.bat, um alle erforderlichen Pfade der Visual Studio-Tools zum Systempfad hinzuzufügen.

Dann können Sie anrufen nmake -f makefile.mak

PS: Der Pfad der gängigen Tools von Visual Studio kann in Ihrem System unterschiedlich sein. Bitte ändern Sie es entsprechend.


3

Wenn es sich um ein "NMake-Makefile" handelt, dh die Syntax und der Befehl sind mit NMake kompatibel, funktioniert es nativ unter Windows. Normalerweise Makefile.win(das .winSuffix) gibt an, dass es sich um ein Makefile handelt, das mit Windows NMake kompatibel ist. Also könntest du es versuchen nmake -f Makefile.win.

Oft werden Standard-Linux-Makefiles bereitgestellt, die NMakevielversprechend aussehen. Der folgende Link enthält jedoch ein einfaches Linux-Makefile und erläutert einige grundlegende Probleme, die auftreten können. Es werden auch einige Alternativen zum Umgang mit Linux-Makefiles unter Windows vorgeschlagen.

Makefiles in Windows


1

Ich habe es mit cygwin & gnuwin versucht und habe nicht für mich gearbeitet, denke ich, weil das Makefile hauptsächlich spezifischen Linux-Code verwendete.

Es funktionierte mit Ubuntu Bash für Windows 10 . Dies ist ein Wunder, wenn Sie von MAC kommen, wie es mein Fall ist:

  1. So installieren Sie den Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Wenn Sie make in der Konsole installiert haben, geben Sie einfach "make" ein und erhalten die Anweisungen zum Herunterladen.

Extras:

  1. Nützlich aktivieren Kopieren / Einfügen bei Bash: Kopieren Einfügen in Bash unter Ubuntu unter Windows
  2. In meinem Fall heißt die Marke Maven, daher muss ich sie auch installieren: /ubuntu/722993/unable-to-locate-package-maven
  3. So greifen Sie auf das Windows-Dateisystem C: Laufwerk zu, zum Beispiel: "cd / mnt / c /"

Ich hoffe es hilft


0

Ich verwende das MinGW- Toolset, das das mingw32-makeBuild-Tool bereitstellt . Wenn Sie es in Ihrer PATHSystemvariablen haben , gehen Sie in der Windows-Eingabeaufforderung einfach in das Verzeichnis mit den Dateien und geben Sie diesen Befehl ein:

mingw32-make -f Makefile.win

und es ist geschafft.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.