Jak zainstalować MinGW-w64 i MSYS2?

86

Próbuję zbudować bibliotekę open source. Potrzebuję systemu zarządzania pakietami, aby łatwo pobrać zależności. Na początku używam MinGW+MSYS. Ale zawarte pakiety są ograniczone. Ktoś mi kazał użyć MinGW-w64 + MSYS2.

Pobrałem mingw-w64-installod tutaj . Po uruchomieniu zgłasza następujący błąd. Jak to naprawić?

wprowadź opis obrazu tutaj

Przy okazji, na MinGW-w64stronie pobierania widzę wiele linków do pobierania. Nawet Cygwin jest wymieniony. Jak Cygwini MinGW-w64są powiązane?

wprowadź opis obrazu tutaj

Obecnie rozumiem, że w czasach MinGW+MSYSMSYS to po prostu fajny dodatek do MinGW, podczas gdy MinGW-w64 + MSYS2MSYS2 jest samodzielny, a MinGW-w64 to tylko zestaw bibliotek, z którymi może współpracować. Podobnie jak Cygwin może pobrać wiele różnych pakietów.

smwikipedia
źródło

Odpowiedzi:

198

Niestety, używany instalator MinGW-w64 czasami ma ten problem. Sam nie jestem pewien, dlaczego tak się dzieje (myślę, że ma to coś wspólnego z przekierowaniem adresu URL Sourceforge lub czymkolwiek, z czym instalator obecnie nie jest w stanie odpowiednio obsłużyć).

W każdym razie, jeśli już planujesz używać MSYS2, nie potrzebujesz tego instalatora.

  1. Pobierz MSYS2 z tej strony (wybierz wersję 32- lub 64-bitową w zależności od wersji systemu Windows, na której będziesz go używać, a nie tego, jakiego rodzaju pliki wykonywalne chcesz zbudować, obie wersje mogą budować zarówno 32-bitowe, jak i 64-bitowe pliki binarne).

  2. Po uzupełnia zainstalować, kliknij na nowo utworzonej opcji „MSYS2 Shell” albo pod MSYS2 64-bitlub MSYS2 32-bitw menu Start. Zaktualizuj MSYS2 zgodnie z wiki (chociaż po prostu robię pacman -Syu, ignoruję wszystkie błędy i zamykam okno i otwieram nowe, nie jest to zalecane i powinieneś robić to, co mówi strona wiki).

  3. Zainstaluj łańcuch narzędzi

    a) dla wersji 32-bitowej:

    pacman -S mingw-w64-i686-gcc
    

    b) dla wersji 64-bitowej:

    pacman -S mingw-w64-x86_64-gcc
    
  4. zainstaluj wszystkie biblioteki / narzędzia, których możesz potrzebować. Możesz przeszukać repozytoria, wykonując

    pacman -Ss name_of_something_i_want_to_install
    

    na przykład

    pacman -Ss gsl
    

    i zainstaluj za pomocą

    pacman -S package_name_of_something_i_want_to_install
    

    na przykład

    pacman -S mingw-w64-x86_64-gsl
    

    i od tego momentu biblioteka GSL jest automatycznie odnajdywana przez Twój 64-bitowy kompilator MinGW-w64!

  5. Otwórz powłokę MinGW-w64:

    a) Aby zbudować rzeczy 32-bitowe, otwórz „32-bitową powłokę MinGW-w64”

    b) Aby zbudować rzeczy 64-bitowe, otwórz „64-bitową powłokę MinGW-w64”

  6. Sprawdź, czy kompilator działa, wykonując

    gcc -v
    

Jeśli chcesz używać łańcuchów narzędzi (z zainstalowanymi bibliotekami) poza środowiskiem MSYS2, wystarczy dodać <MSYS2 root>/mingw32/binlub <MSYS2 root>/mingw64/bindo swojego PATH.

rubenvb
źródło
4
Dzięki. Jak mogę uzyskać nazwę kanoniczną pakietu, który pacmanmożna rozpoznać?
smwikipedia
1
Czy to zadziała, jeśli zainstalujesz jednocześnie 32 i 64-bitowe łańcuchy narzędzi?
Colonel Panic
2
@Colonel tak, zainstaluje łańcuchy narzędzi (i wszelkie instalowane biblioteki innych firm) w oddzielnych katalogach (/ mingw32 i / mingw64).
rubenvb,
5
Dziękuję bardzo @rubenvb. Msys2 wiki jest tak mylące dla noobów takich jak ja, jeśli chodzi o wykonanie tych kilku prostych kroków.
Toby
1
@Toby Zgadzam się, że objaśniają sprawy „drogą Arch”, tj. Przeczytaj Arch wiki na temat pacmana, a wiesz prawie to samo. Konfiguracja dla początkujących może się przydać, chociaż jest teraz na SO, co powinno dość szybko pojawić się w Google :). (czytaj jako: głosuj dalej za tą odpowiedzią: P)
rubenvb
38

MSYS nie był aktualizowany od dawna, MSYS2 jest bardziej aktywny, można go pobrać z MSYS2 , ma zarówno pakiet, jak mingwi cygwin fork.

Aby zainstalować zestaw narzędzi MinGW-w64 ( odniesienie ):

  1. Otwórz powłokę MSYS2 z menu Start
  2. Uruchom, pacman -Sy pacmanaby zaktualizować bazę danych pakietów
  3. Otwórz ponownie powłokę, uruchom, pacman -Syuaby zaktualizować bazę danych pakietów i podstawowe pakiety systemowe
  4. Otwórz ponownie powłokę, uruchom, pacman -Suaby zaktualizować resztę
  5. Zainstaluj kompilator:
    • W przypadku 32-bitowego celu uruchom pacman -S mingw-w64-i686-toolchain
    • W przypadku 64-bitowego celu uruchom pacman -S mingw-w64-x86_64-toolchain
  6. Wybierz pakiet do zainstalowania, domyślnie wszystko
  7. Możesz też potrzebować make, uciekajpacman -S make
Steely Wing
źródło
3
jak zainstalować określoną wersję MinGW-w64 x86_64-6.2.0-release-posix-seh-rt_v5-rev1?
Youda008
1
Czy to oznacza, że ​​instalator mingw opisany tutaj nie jest już potrzebny? i powinienem po prostu zainstalować msys2?
lanoxx
1
Link Referencejest uszkodzony
Jean-Francois T.
jakieś pomysły, dlaczego powłoka msys2 zamyka się po sekundzie?
A_P
Jeśli potrzebujesz cmake, musisz zainstalować pacman -S mingw-w64-x86_64-cmakei NIE cmake . Normalny cmake będzie pozbawiony generatorów dla minGW.
user136036