Come eseguire un makefile in Windows?


187

Ho alcune demo che ho scaricato e vengono fornite con Makefile.win e Makefile.sgi. Come posso eseguirli in Windows per compilare le demo?


1
Dovrei dire che sono più una persona Linux ma devo usare Windows in questo momento, quindi sono un po 'all'oscuro.
Kim,

Risposte:


114

Se si dispone di Visual Studio, eseguire il prompt dei comandi di Visual Studio dal menu Start, passare alla directory contenente Makefile.wine digitare questo:

nmake -f Makefile.win

È inoltre possibile utilizzare il normale prompt dei comandi ed eseguire vsvars32.bat (c: \ Programmi (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools per VS2008). Questo imposterà l'ambiente per eseguire nmake e trovare gli strumenti del compilatore.


5
Come posso eseguire il prompt dei comandi di Visual Studio dal menu Start?
Kim,

Bene, l'ho capito. Ma ovviamente non si sarebbe compilato a causa di errori. Solo la mia fortuna. Grazie comunque.
Kim,

9
Per quelli con VS2012, il prompt dei comandi si chiama "Prompt dei comandi per sviluppatori per VS2012". Start -> Cerca -> "comando" è come l'ho trovato.
innegabilmente

@NSD: Puoi provare altri "make", ma tali file sono generalmente scritti sul dialetto di nmake e con il presupposto che VS sia installato e sul percorso. Potresti scoprire che il VS Express gratuito è sufficiente.
Marcelo Cantos,

@MarceloCantos Sono un noob per Linux e Making. E se avessi file .am e .mk. Non ho alcun file .win. Sto cercando di fare wget, tra l'altro.
Cheeku,

53

Dai un'occhiata a Cygwin , un ambiente simile a Unix per Windows


6
cygwin ha funzionato bene per me !. Ho dovuto controllare, durante l'installazione, alcuni pacchetti in Devel: 'make' e anche 'gcc' come spiegato qui .
Damien Leroux,

6
Consiglio anche di installare Cygwin usando Chocolatey, quindi il comando per ottenere makeè questo:choco install make --source=cygwin
zygimantus

dopo aver installato con choco, come posso aggiungerlo alla mia shell dei comandi? c'è un percorso da aggiungere?
XaBerr,

2
Se l'hai installato con choco, aggiungi questa riga (senza virgolette) alla variabile path nelle variabili di sistema "C: \ tools \ cygwin \ bin"
Ali.Ghodrat

40

Dai un'occhiata a GnuWin 's make , che fornisce una porta nativa per Windows (senza richiedere un ambiente di runtime completo come Cygwin)


8
Inoltre, aggiungi "C: \ Programmi (x86) \ GnuWin32 \ bin" al tuo PERCORSO di sistema.
ccy

29

Ecco il mio modo rapido e temporaneo per eseguire un Makefile

  • scarica make da SourceForge: gnuwin32
  • installalo
  • vai alla cartella di installazione

C: \ Programmi (x86) \ GnuWin32 \ bin

  • copia tutti i file nel cestino nella cartella che contiene Makefile

libiconv2.dll libintl3.dll make.exe

  • apri il cmd (puoi farlo con il tasto destro del mouse con shift ) nella cartella che contiene Makefile ed esegui

make.exe

fatto.

Inoltre, è possibile aggiungere argomenti dopo il comando, ad esempio

skel make.exe


11
Probabilmente è meglio aggiungere la bindirectory alla PATHvariabile di ambiente. Questo sarà make.exedisponibile ovunque.
Yukulélé,

1
Penso che sia fatto di default - almeno così è stato quando ho installato gnuwin32. Naturalmente copiare i file è comunque una cattiva pratica.
JFFIGK,

1
Non è fatto di default (o non nel mio caso). Aggiungendolo al percorso, è possibile eseguire make dalla cartella del progetto.
Victor,

Lavora come un campione
trungducng l'

28

Questa domanda potrebbe essere vecchia ma la mia soluzione, che è di gran lunga la più semplice per qualsiasi utente di Windows che oso dire, non è elencata.

Fase 1: Installare il gestore di pacchetti cioccolatoso per WINDOWS (compatibile con Windows 7 + / Windows Server 2003+) qui

Passaggio 2: eseguirechoco install make

Passaggio 3: trarre profitto da un gestore di pacchetti ben gestito. Make sarà stato aggiunto al percorso globale e verrà eseguito su tutte le CLI (powershell, git bash, cmd ...)

Non sono affiliato con Choco ma è SOLO QUELLO BUONO.


8

Se si installa Cygwin . Assicurati di selezionare make nell'installer. È quindi possibile eseguire il comando seguente purché si disponga di un Makefile.

make -f Makefile

https://cygwin.com/install.html

6

Con Visual Studio 2017 ho dovuto aggiungere questa cartella alla mia variabile env del percorso di Windows 10:

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

C'è anche HostX86


3

Innanzitutto, aggiungi il percorso degli strumenti comuni di Visual Studio ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) nel percorso di sistema. Per informazioni su come aggiungere un percorso nel percorso di sistema, consultare questo sito Web: http://www.computerhope.com/issues/ch000549.htm . Hai solo bisogno di questo una volta.

Successivamente, quando necessario, aprire una riga di comando ed eseguire vsvars32.batper aggiungere tutti i percorsi necessari degli strumenti di Visual Studio nel percorso di sistema.

Quindi, puoi chiamare nmake -f makefile.mak

PS: il percorso degli strumenti comuni di Visual Studio potrebbe essere diverso nel tuo sistema. Si prega di cambiarlo di conseguenza.


3

Se si tratta di un "Makefile NMake", vale a dire la sintassi e il comando sono compatibili con NMake, funzionerà in modo nativo su Windows. Di solito Makefile.win(il .winsuffisso) indica che è un makefile compatibile con Windows NMake. Quindi potresti provare nmake -f Makefile.win.

Spesso vengono forniti Makefile Linux standard e NMakesembra promettente. Tuttavia, il seguente link prende un semplice Makefile Linux e spiega alcuni problemi fondamentali che si possono incontrare. Suggerisce anche alcune alternative alla gestione dei Makefile Linux su Windows.

Makefile in Windows


1

Ho provato con cygwin e gnuwin e non ha funzionato per me, immagino perché il makefile ha usato principalmente codice linux specifico.

Quello che ha funzionato è stato usare Ubuntu Bash per Windows 10 . Questa è una meraviglia se vieni dal MAC come nel mio caso:

  1. Per installare Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Una volta nella console, per installare make basta digitare "make" e dà le istruzioni per scaricarlo.

extra:

  1. Utile abilita copia / incolla su bash: Copia Incolla in Bash su Ubuntu su Windows
  2. Nel mio caso la marca si chiama Maven, quindi devo installarla anch'essa: /ubuntu/722993/unable-to-locate-package-maven
  3. Per accedere al filesystem Windows C: unità, ad esempio: "cd / mnt / c /"

Spero che sia d'aiuto


0

Uso il set di strumenti MinGW che fornisce lo mingw32-makestrumento di compilazione, se ce l'hai nella PATHvariabile di sistema , nel prompt dei comandi di Windows basta andare nella directory contenente i file e digitare questo comando:

mingw32-make -f Makefile.win

ed è fatto.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.