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?

Kim
quelle
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.

Marcelo Cantos
quelle
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

Frank
quelle
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)

Sean Lynch
quelle
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

alan9uo
quelle
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.

ledawg
quelle
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
sunny0402
quelle
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

raRaRa
quelle
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.

Validus Oculus
quelle
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

ap-osd
quelle
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

Oriol Manyà Pau
quelle
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.

WENDYN
quelle
-2

Vielleicht können Sie NetBeans IDE ausprobieren.

user0814
quelle