Hoe “make” installeren en gebruiken in Windows?

Ik volg de instructies van iemand wiens repository ik naar mijn machine heb gekloond. Wat ik wil is eenvoudig: de opdracht makekunnen 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 makein Windows zonder een GNU-compiler of gerelateerde pakketten?


Antwoord 1, autoriteit 100%

makeis 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:

  1. De meest eenvoudige keuze is het gebruik van Chocolatey. Eerst moet u deze pakketbeheerder installeren. Eenmaal geïnstalleerd, hoeft u alleen maar makete installeren (mogelijk moet u het uitvoeren in een verhoogde/admin-opdrachtprompt):

    choco install make
    
  2. 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, gccen alle tools die je nodig hebt om C-programma’s te bouwen.

  3. 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.exeblijft 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 makevan C:\tools\msys64\usr\bin. Als makeniet 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 bashen kies “Bash op Ubuntu op Windows”), cdnaar de map die u wilt maken en typ make.

FWIW, de Windows-schijven zijn te vinden in /mnt, b.v. C:\schijf is /mnt/cin 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%

  1. Installeer Msys2 http://www.msys2.org
  2. Volg de installatie-instructies
  3. Installeer makemet $ pacman -S make gettext base-devel
  4. Voeg C:\msys64\usr\bin\toe aan je pad

Antwoord 7

Ik zou een stapsgewijze aanpak kunnen voorstellen.

  1. Bezoek GNUwin
  2. Download het installatieprogramma
  3. Volg de instructies en installeer GNUWin. U moet letten op de map waarin uw toepassing wordt geïnstalleerd. (Je hebt het later nodig1)
  4. 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 is C:\Program Files (x86)\GnuWin32\.
  5. 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 wingetzijn 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.

chocolijkt 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 makemoet installeren, dat wordt gebruikt voor het compileren, zou dit een geldige optie moeten zijn.

  1. ga naar https://www.gnu.org/software/make/en download een versie naar uw wens
  2. pak de tar.gz-bestanden uit (gebruik 7zip en pak het bestand twee keer uit om de daadwerkelijke inhoud op te halen)
  3. navigeer naar de aangemaakte map
  4. open de opdrachtprompt in die map
  5. voer build_w32.bat gccuit. Dit zal de compilatie starten met de gcc-compiler, die u van tevoren zou moeten installeren. Bij het uitvoeren van build_w32.batzonder enige optie, proberen ze de MSVC-compiler te gebruiken. Kanttekening: ik vond het verrassend dat gnu niet standaard gcc gebruikt, maar MSVC 🙂
  6. negeer de waarschuwingen die tijdens het compileren zijn gemaakt. Het resultaat zou nog steeds goed moeten zijn
  7. haal je nieuwe gnumake.exeop uit de directory GccRel (wanneer gecompileerd met gcc)
  8. plaats dit bestand ergens waar je wilt en hernoem het naar make.exe
  9. 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

  1. Npm installeren

  2. node installeren

  3. Maak installeren

    node install make up
    node install make
    
  4. Als bovenstaande commando’s een fout weergeven, installeer dan Chocolatey(choco)

  5. 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"
    

Other episodes