Ik volg de instructies van iemand wiens repository ik naar mijn machine heb gekloond. Wat ik wil is eenvoudig: de opdracht make
kunnen gebruiken als onderdeel van het opzetten van de code-omgeving, maar ik gebruik Windows. Ik heb online gezocht, maar ik kon alleen een make.exe
-bestand vinden, een make-4.1.tar.gz
-bestand (ik weet niet wat ik er vervolgens mee moet doen ) en instructies voor het downloaden van MinGW (voor GNU; maar na installatie vond ik geen enkele vermelding van “make”).
Hoe gebruik ik make
in Windows zonder een GNU-compiler of gerelateerde pakketten?
Antwoord 1, autoriteit 100%
make
is een GNU-commando, dus de enige manier waarop u het op Windows kunt krijgen, is door een Windows-versie te installeren zoals die van GNUWin32. Hoe dan ook, er zijn verschillende opties om dat te krijgen:
-
De meest eenvoudige keuze is het gebruik van Chocolatey. Eerst moet u deze pakketbeheerder installeren. Eenmaal geïnstalleerd, hoeft u alleen maar
make
te installeren (mogelijk moet u het uitvoeren in een verhoogde/admin-opdrachtprompt):choco install make
-
Een andere aanbevolen optie is het installeren van een Windows-subsysteem voor Linux ( WSL/WSL2), dus je hebt een Linux-distributie naar keuze ingebed in Windows 10 waar je
make
,gcc
en alle tools die je nodig hebt om C-programma’s te bouwen. -
Voor oudere Windows-versies (MS Windows 2000 / XP / 2003 / Vista / 2008 / 7 met msvcrt.dll) kunt u GnuWin32.
Een verouderd alternatief was MinGw, maar het project lijkt te zijn verlaten, dus het is beter om voor een van de vorige keuzes te gaan.
Antwoord 2, autoriteit 78%
GNU make is beschikbaar op chocolatey.
-
Installeer chocolatey hier.
-
Vervolgens
choco install make
.
Je kunt Maken nu op Windows gebruiken.
Ik heb geprobeerd het op MinGW te gebruiken, maar het zou ook op CMD moeten werken.
Antwoord 3, autoriteit 6%
Het geaccepteerde antwoord is over het algemeen een slecht idee, omdat de handmatig gemaakte make.exe
blijft hangen en mogelijk onverwachte problemen kan veroorzaken. Het verbreekt eigenlijk RubyInstaller: https://github.com/oneclick/rubyinstaller2/issues/105
Een alternatief is het installeren van makevia Chocolatey (zoals aangegeven door @Vasantha Ganesh K)
Een ander alternatief is het installeren van MSYS2van Chocolatey en het gebruik van make
van C:\tools\msys64\usr\bin
. Als make
niet automatisch wordt geïnstalleerd met MSYS2 moet je het handmatig installeren via pacman -S make
(zoals aangegeven door @Thad Guidry en @Luke).
Antwoord 4, autoriteit 6%
Als je Windows 10 gebruikt, is het ingebouwd in de Linux-subsysteemfunctie. Start gewoon een Bash-prompt (druk op de Windows-toets, typ bash
en kies “Bash op Ubuntu op Windows”), cd
naar de map die u wilt maken en typ make
.
FWIW, de Windows-schijven zijn te vinden in /mnt
, b.v. C:\
schijf is /mnt/c
in Bash.
Als Bash niet beschikbaar is in je startmenu, volgen hier instructies voor het inschakelen van die Windows-functie (alleen 64-bits Windows):
https://docs.microsoft.com/en-us/ windows/wsl/install-win10
Antwoord 5, autoriteit 3%
Download make.exe van hun officiële site GnuWin32
-
Klik in de downloadsessie op
Compleet pakket, behalve bronnen. -
Volg de installatie-instructies.
-
Als u klaar bent, voegt u de
<installation directory>/bin/
toe aan de PATH-variabele.
Je kunt nu make in cmd gebruiken.
Antwoord 6, autoriteit 3%
- Installeer Msys2 http://www.msys2.org
- Volg de installatie-instructies
- Installeer makemet
$ pacman -S make gettext base-devel
- Voeg
C:\msys64\usr\bin\
toe aan je pad
Antwoord 7
Ik zou een stapsgewijze aanpak kunnen voorstellen.
- Bezoek GNUwin
- Download het installatieprogramma
- Volg de instructies en installeer GNUWin. U moet letten op de map waarin uw toepassing wordt geïnstalleerd. (Je hebt het later nodig1)
- Volg deze instructiesen voeg make toe aan uw omgevingsvariabelen. Zoals ik u al eerder vertelde, is het nu tijd om te weten waar uw toepassing is geïnstalleerd.
Ter info: de standaardmap isC:\Program Files (x86)\GnuWin32\
. - Werk nu het PATH bij om de bin-map van het nieuw geïnstalleerde programma op te nemen.
Een typisch voorbeeld van wat men aan het pad zou kunnen toevoegen is:...;C:\Program Files (x86)\GnuWin32\bin
Antwoord 8
Een ander alternatief is dat als je minGW al hebt geïnstalleerd en de bin-map hebt toegevoegd aan de omgevingsvariabele Path, je “mingw32-make” kunt gebruiken in plaats van “make”.
Je kunt ook een symbolische link maken van “make” naar “mingw32-make”, of de naam van het bestand kopiëren en wijzigen. Ik zou de opties eerder niet aanbevelen, ze zullen werken totdat je wijzigingen aanbrengt op de minGW.
Antwoord 9
Ik heb ooit hetzelfde probleem gehad. Maar het verbaast me dat ik hier niet één specifieke oplossing vind.
Installatie vanaf GnuWin32 of via winget
zijn goede en gemakkelijke opties. Maar ik vond daar alleen make 3.8.1. Deze versie mist de zeer belangrijke optie -O
, die de uitvoer correct afhandelt bij het compileren van multithreaded.
choco
lijkt momenteel make 4.3 aan te bieden. Je zou daar dus recente versies kunnen verwachten.
Maar er is ook de mogelijkheid om zelf te compileren. En als je make
moet installeren, dat wordt gebruikt voor het compileren, zou dit een geldige optie moeten zijn.
- ga naar https://www.gnu.org/software/make/en download een versie naar uw wens
- pak de tar.gz-bestanden uit (gebruik 7zip en pak het bestand twee keer uit om de daadwerkelijke inhoud op te halen)
- navigeer naar de aangemaakte map
- open de opdrachtprompt in die map
- voer
build_w32.bat gcc
uit. Dit zal de compilatie starten met de gcc-compiler, die u van tevoren zou moeten installeren. Bij het uitvoeren vanbuild_w32.bat
zonder enige optie, proberen ze de MSVC-compiler te gebruiken. Kanttekening: ik vond het verrassend dat gnu niet standaard gcc gebruikt, maar MSVC 🙂 - negeer de waarschuwingen die tijdens het compileren zijn gemaakt. Het resultaat zou nog steeds goed moeten zijn
- haal je nieuwe
gnumake.exe
op uit de directory GccRel (wanneer gecompileerd met gcc) - plaats dit bestand ergens waar je wilt en hernoem het naar
make.exe
- voeg de locatie toe aan de systeemvariabele %PATH%
Zoals anderen al hebben opgemerkt: deze handmatige installatie kan conflicten veroorzaken als u ook verschillende merkversies hebt geïnstalleerd door andere programma’s.
Antwoord 10
Een oplossing die nuttig kan zijn als u de opdrachtregelemulator cmder wilt gebruiken. U kunt het pakketinstallatieprogramma chocately installeren. Eerst installeren we chocately in de opdrachtprompt van Windows met behulp van de volgende regel:
@"%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
Nadat chocolatey is geïnstalleerd, kan het choco-commando worden gebruikt om make te installeren. Na installatie moet u een alias toevoegen aan /cmder/config/user_aliases.cmd. De volgende regel moet worden toegevoegd:
make="path_to_chocolatey\chocolatey\bin\make.exe" $*
Make werkt dan in de cmder-omgeving.
Antwoord 11
-
Npm installeren
-
node installeren
-
Maak installeren
node install make up node install make
-
Als bovenstaande commando’s een fout weergeven, installeer dan Chocolatey(choco)
-
Open cmd en kopieer en plak het onderstaande commando (commando gekopieerd van chocolatey URL)
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"