Jak korzystać z GNU Make w systemie Windows?

96

Zainstalowałem MinGW i MSYS, dodane C:\MinGW\bindo, PATHale nadal nie mogę uruchomić Makefile w Windows ' cmd. Chciałbym uruchomić cmd.exe i tam np. make allWpisać , ale mój cmd mówi, że nie ma takiego polecenia.

Co powinienem zrobić? Nie chcę używać powłoki MSYS, nie o to chodzi. Jakieś pomysły, jak używać GNU Make w Windows cmd, tak jak mogę to zrobić w Ubuntu? Nie jestem zainteresowany Cygwin.

jak
źródło
1
Będziesz musiał dodać go do PATH pod zmiennymi środowiskowymi w ustawieniach systemu.
slugonamission
@slugonamission: Już to zrobiłem, napisałem :)
jaka
Uruchomić make.exe zamiast make?
slugonamission
2
@slugonamission: Zrobiłem to! Dodałem C:\MinGW\msys\1.0\bindo PATH i zadziałało! : D Ale nadal mam problem, makepokazuje mi: pastie.org/private/ixaaqbq2xl3geyg0emnow
jaka
1
W miejscu alldocelowym plik hello.exe musi znajdować się w tym samym wierszu, allaby był traktowany jako zależność celu. Jeśli nie, staje się częścią zadania all.
slugonamission

Odpowiedzi:

101

Oto jak to działa:

  copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

Następnie mogę otworzyć wiersz polecenia i wpisać make:

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

Co oznacza, że ​​teraz działa!

user1594322
źródło
10
@Imray Przypuszczam, że nadal nie jest do końca jasne: marka jest rozpowszechniana w pliku mingw32-make.exe. Ponieważ katalog c:\MinGW\binznajduje się na ścieżce systemowej, możesz użyć mingw32-makejako polecenia lub skopiować (bezpieczniejsza wersja zmiany nazwy) na mingw32-make.exejust make.exe.
Tomáš Zato - Przywróć Monikę
1
Powinieneś trzymać się z daleka od uczynienia msys lub mingw częścią swoich zmiennych środowiskowych z powodu nadmiaru, ale także dlatego, że katalog msys jest lokalny dla siebie. Ścieżka w msys pozwoli ci użyć make, jeśli znajduje się w bin mingw64, jednak nie mówiąc o tym problemie. Nie mówiąc o problemie, powinieneś utworzyć łącze HARD do mingw32-make.exe, ponieważ make.exe ułatwia życie i nie musi klonować exe. Spróbuj:mklink /H C:\MinGW\bin\mingw32-make.exe C:\MinGW\bin\make.exe
user2262111
9

Używam GNU Make z projektu GnuWin32, zobacz http://gnuwin32.sourceforge.net/, ale od jakiegoś czasu nie było żadnych aktualizacji, więc nie jestem pewien stanu tego projektu.

Colin 't Hart
źródło
6

Chociaż to pytanie jest stare, nadal jest zadawane przez wielu użytkowników MSYS2 .

Zacząłem go używać w tym roku, aby zastąpić CygWin i jestem całkiem zadowolony.

Aby zainstalować make, otwórz powłokę MSYS2 i wpisz następujące polecenia:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v
Delfino
źródło
3

Możesz dodać folder aplikacji do swojej ścieżki z wiersza poleceń za pomocą:

setx PATH "% PATH%; c: \ MinGW \ bin"

Zauważ, że prawdopodobnie będziesz musiał otworzyć nowe okno poleceń, aby zmodyfikowane ustawienie ścieżki zaczęło obowiązywać.

Buggieboy
źródło
2

Alternatywnie, jeśli chcesz tylko zainstalować make, możesz użyć czekoladowego menedżera pakietów, aby zainstalować make gnu za pomocą

choco install make -y

Dotyczy to wszelkich problemów ze ścieżką, które możesz mieć.

Ivo Merchiers
źródło
0

user1594322 dał poprawną odpowiedź, ale kiedy spróbowałem, napotkałem problemy z administratorem / uprawnieniami. Udało mi się skopiować plik „mingw32-make.exe” i wkleić go, nadpisując / omijając problemy administratora, a następnie edytując kopię na „make.exe”. Na VirtualBox w gościu Win7.

DBourne
źródło
0

Chociaż make sam jest dostępny jako samodzielny plik wykonywalny ( gnuwin32.sourceforge.netpakietmake ), użycie go w odpowiednim środowisku programistycznym oznacza użycie msys2 .

Git 2.24 (Q4 2019) pokazuje, że:

Zobacz zatwierdzenie 4668931 , zatwierdzenie b35304b , zatwierdzenie ab7d854 , zatwierdzenie be5d88e , zatwierdzenie 5d65ad1 , zatwierdzenie 030a628 , zatwierdzenie 61d1d92 , zatwierdzenie e4347c9 , zatwierdzenie ed712ef , zatwierdzenie 5b8f9e2 , zatwierdzenie 41616ef , zatwierdzenie c097b95 (04 października 2019) i zatwierdzenie dbcd9 (30 września 2019) i zatwierdzenie dbcd9 użytkownika Johannes Schindelin ( dscho) .
(Scalone przez Junio ​​C Hamano - gitster- w zatwierdzeniu 6d5291b , 15 października 2019 r.)

test-tool run-command: naucz się uruchamiać (części) zestawu testowego

Podpisał: Johannes Schindelin

Git dla Windows przeskakuje przez obręcze, aby zapewnić środowisko programistyczne, które pozwala zbudować Git i uruchomić jego zestaw testów.

W tym celu cały system MSYS2, w tym marka GNU i GCC, jest oferowany jako „zestaw Git for Windows SDK”.
Ma to swoją cenę: początkowe pobranie wspomnianego zestawu SDK waży kilkaset megabajtów, a rozpakowany pakiet SDK zajmuje około 2 GB miejsca na dysku.

O wiele bardziej natywnym środowiskiem programistycznym w systemie Windows jest Visual Studio. Aby pomóc współpracownikom w korzystaniu z tego środowiska, mamy już obiekt docelowy Makefile, vcxprojktóry generuje zatwierdzenie z plikami projektu (i innymi wygenerowanymi plikami), a vs/mastergałąź Git for Windows jest stale generowana ponownie przy użyciu tego celu.

Chodzi o to, aby umożliwić budowanie Gita w Visual Studio i uruchamianie indywidualnych testów przy użyciu Portable Git.

VonC
źródło