jak zainstalować gcc na komputerze z systemem Windows 7?


119

Mam MinGW na moim komputerze z systemem Windows 7. Chcę zainstalować i używać kompletnego gcc dla kompilatora C. Okazało się, że nie ma jednego wstępnie skompilowanego gotowego pliku instalacyjnego do tego celu. Sprawdziłem następującą stronę: http://gcc.gnu.org/install/ Jest to trudne i powyżej mojego poziomu zrozumienia. Czy ktoś mógłby podać mi wskazówki krok po kroku wraz z linkami?

Odpowiedzi:


97

EDYCJA Od niedawna MinGW-w64 „wchłonął” jeden z projektów budowy łańcucha narzędzi. Pliki do pobrania można znaleźć tutaj . Instalator powinien działać i umożliwiać wybranie potrzebnej wersji.

Uwaga Qt SDK jest dostarczany z tym samym łańcuchem narzędzi. Więc jeśli programujesz w Qt i używasz SDK, po prostu użyj zestawu narzędzi, z którym jest dostarczany.

Inna alternatywa, która ma aktualne łańcuchy narzędzi, pochodzi od ... harhar ... programisty firmy Microsoft, nikogo innego niż STL (Stephan T. Lavavej, nie jest to trafne imię dla opiekuna biblioteki standardowej MSVC ++!). Znajdziesz go tutaj . Obejmuje Boost.

Inną opcją, która jest bardzo przydatna, jeśli zależy Ci na gotowych zależnościach, jest MSYS2 , który zapewnia powłokę Unix (widelec Cygwin zmodyfikowany tak, aby działał lepiej z nazwami ścieżek systemu Windows itp.), A także zapewnia GCC. Zwykle pozostaje nieco w tyle, ale jest to kompensowane przez dobry system zarządzania pakietami i stabilność. Dostarczają także funkcjonalnego Clanga z libc ++, jeśli zależy ci na czymś takim.

Zostawiam poniższe informacje w celach informacyjnych, ale zdecydowanie odradzam korzystanie z MinGW.org z powodu ograniczeń opisanych poniżej. TDM-GCC (wersja MinGW-w64) zapewnia kilka hacków, które mogą okazać się przydatne w twojej konkretnej sytuacji, chociaż zalecam używanie przez cały czas waniliowego GCC dla maksymalnej kompatybilności.


GCC dla Windows jest obecnie dostarczane przez dwa projekty. Oba zapewniają własną implementację zestawu Windows SDK (nagłówki i biblioteki), co jest konieczne, ponieważ GCC nie działa z plikami programu Visual Studio.

  1. Starsza witryna mingw.org, na którą @Mat już Cię wskazał. Zapewniają tylko 32-bitowy kompilator. Zobacz tutaj, aby pobrać potrzebne pliki:

    • Binutils jest konsolidatorem i kompilatorem zasobów itp.
    • GCC jest kompilatorem i jest podzielony na pakiety podstawowe i językowe
    • GDB to debugger.
    • Biblioteka uruchomieniowa jest wymagana tylko dla mingw.org
    • Może być konieczne oddzielne pobranie mingw32-make.
    • Aby uzyskać pomoc, możesz spróbować (nie oczekuj przyjaznych odpowiedzi) mingw-users@lists.sourceforge.net

    Alternatywnie, pobierz mingw-get i użyj go.

  2. Nowszy mingw-w64, który zgodnie z nazwą przewiduje również wariant 64-bitowy, aw przyszłości, miejmy nadzieję, wsparcie dla ARM. Używam go i budowałem łańcuchy narzędzi z ich CRT. Kompilacje osobiste i automatyczne można znaleźć w sekcji „Łańcuchy narzędzi dla Win32 / 64” tutaj . Dostarczają również Linuksa do kompilatorów krzyżowych Windows. Proponuję najpierw wypróbować kompilację osobistą, są one bardziej kompletne. Wypróbuj moje (rubenvb) dla GCC 4.6 do 4.8 lub użyj sezero dla GCC 4.4 i 4.5. Obaj dostarczamy 32-bitowe i 64-bitowe natywne łańcuchy narzędzi. Te pakiety zawierają wszystko, co wymieniono powyżej. Obecnie polecam kompilacje „MinGW-Builds”, ponieważ są one obecnie usankcjonowane jako „oficjalne kompilacje” i są dostarczane z instalatorem (patrz powyżej).

    Aby uzyskać pomoc, wyślij e-mail na adres mingw-w64-public@lists.sourceforge.net lub napisz na forum przez sourceforge.net.

Oba projekty mają swoje pliki wymienione na sourceforge, a wszystko, co musisz zrobić, to albo uruchomić instalator (w przypadku mingw.org), albo pobrać odpowiedni spakowany pakiet i rozpakować go (w przypadku mingw-w64).

Istnieje wiele „nieoficjalnych” narzędzi do tworzenia łańcucha narzędzi, jednym z najpopularniejszych jest TDM-GCC. Mogą używać łatek, które łamią binarną kompatybilność z oficjalnymi / niezałatanymi łańcuchami narzędzi, więc używaj ich ostrożnie. Najlepiej korzystać z oficjalnych wydań.


6
Twoja odpowiedź wygląda na kompletną, ale nie rozumiem jej całej. wiele terminów w Twojej odpowiedzi jest dla mnie nowych. Moim zamiarem jest zdobycie kompilatora gcc c, linkera, plików nagłówkowych i plików bibliotecznych. Pobrałem twoją osobistą kompilację dla GCC 4.6. co mam teraz zrobić? proszę tolerować ze mną :-)
KawaiKx

9
@Saurabh: nie ma problemu, starałem się być poprawny pod względem słów. C:` so that Rozpakuj teraz pakiet, na przykład do C: \ mingw64 \ bin` (lub C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute ustawia PATH = C: \ mingw64 \ bin;% PATH% `. Następnie będziesz mógł zadzwonić do mingw32 -make, gcc, gdb itp. z tego wiersza poleceń. Programy go używające (takie jak cmake, Qt Creator, Codeblocks) również potrzebują go w PATH. Jeśli potrzebujesz zmiany PATH dla całego systemu / użytkownika, przejdź do Panel sterowania-> System -> Zaawansowane-> Zmienne środowiskowe i dodaj lub zmodyfikuj tam PATH.
rubenvb

1
skończone. działa dobrze. wielkie dzięki ... dlaczego jest tyle kłopotów z instalacją kompilatora gcc na komputerze z systemem Windows? czy pierwotnie nie był przeznaczony dla platformy x86?
KawaiKx

4
Jest co najwyżej 4-5 programistów zajmujących się GCC / binutils dla Windows. Wykonują świetną robotę, ale dostarczenie narzędzi pozostawia społeczności. Nie rozumiem źle: TDM istnieje już od dłuższego czasu i zapewnia poręczny instalator, ale nie przesyła poprawek z powodu problemów z prawami autorskimi. Codeblocks dostarcza zestaw narzędzi MinGW wraz z IDE, podobnie jak Qt. Ale żaden z nich nie dostarcza wersji 64-bitowej :). Budowanie samego GCC wymaga środowiska Unix, takiego jak Cygwin / MSYS, a nawet lepiej: Linux. Proces budowania nie jest prosty. Ale instalacja nie jest trudna, gdy wiesz, co robić.
rubenvb

1
@rubenvb, zauważyłem, że Mingw64 ma teraz instalator, który pozwala na wybranie rzeczy. Czy to gorszy pomysł niż stworzenie własnej wersji?
batbrat

26

Pobierz mingw-get i po prostu wyślij :

mingw-get install gcc.

Zobacz stronę Pierwsze kroki .


2
ta instalacja nie instaluje standardowej biblioteki C gcc .. zamiast tego używa msvcr ***. a. dlaczego tak? czy to dlatego, że standardowa biblioteka C gcc zawiera kody obiektowe przeznaczone dla układów innych niż x86?
KawaiKx

3
ponieważ port MinGW GCC w systemie Windows używa standardowej biblioteki C. systemu Windows. Jeśli chcesz użyć innej biblioteki C, spójrz na cygwin (używa newlib). Nie jestem pewien, czy będziesz miał dużo szczęścia z GLIBC w systemie Windows (nie widzę też sensu).
Mat

1
co dokładnie rozumiesz przez „port MinGW GCC w systemie Windows”? przepraszam, to może zabrzmieć głupio, ale nie znam tych warunków ...
KawaiKx

2
Oznacza to, że wersja GCC stworzona przez MinGW do uruchamiania i docelowych środowisk Windows.
Mat

11
  1. Wypakuj pakiet do C: \ stąd i zainstaluj go

  2. Skopiuj ścieżkę C:\MinGW\binzawierającą plik gcc.exe.

  3. przejdź do Control Panel->System->Advanced>Environment variablesi dodaj lub zmodyfikuj PATH. (po prostu połącz z „;”)

  4. Następnie open a cmd.exe command prompt(Windows + R i wpisz cmd, jeśli jest już otwarty, zamknij i otwórz nowy, aby uzyskać zmianę ścieżki)

  5. zmień folder na ścieżkę do pliku o cd D:\c code Path

  6. typ gcc main.c -o helloworld.o. Skompiluje kod. dlaC++ use g++

7, ./helloworldaby uruchomić program.

Jeśli brakuje pliku zlib1.dll, pobierz go stąd


6

Idąc za odpowiedzią Mata (użyj Cygwin), oto kilka szczegółowych instrukcji dotyczących: instalacji gcc w systemie Windows Pakiety, które chcesz, to gcc, gdb i make. Instalator Cygwin pozwala zainstalować dodatkowe pakiety, jeśli ich potrzebujesz.


Zainstalowałem Cygwin i wymagane pakiety. Sprawdziłem również z wiersza poleceń systemu Windows, że gcc, gdb i make są dostępne. Ale nadal instalacja klejnotów rails kończy się niepowodzeniem z tym samym błędem! Czy ktoś pomyślnie wypróbował Cygwin i Rails w systemie Windows?
Vishal Biyani

Ponadto, kiedy uruchamiam gccw wierszu polecenia, odmowa dostępu, nie wiem dlaczego
Vishal Biyani

3
Obecnie prawdopodobnie wybrałbym coś takiego jak VirtualBox Oracle ( virtualbox.org ) lub VMWare zamiast Cygwin. Następnie możesz uruchomić oba systemy operacyjne na tej samej maszynie. A jeśli chodzi o Railsy, ​​czy próbowałeś już Instalatora Railsów? railsinstaller.org
michaelok

Dzięki za wskazówkę @michaelok, na pewno spróbuję
Vishal Biyani

Nie mogłem go też znaleźć, więc zaktualizowałem go do głównej strony Cygwin. To, co jest trudne w instalatorze, to upewnienie się, że wybierasz odpowiednie pakiety. Z instrukcji, która ma to do powiedzenia na temat gcc: „Domyślnie setup.exe zainstaluje tylko pakiety z kategorii Base i ich zależności, co skutkuje minimalną instalacją Cygwin. Jednak nie obejmie to wielu powszechnie używanych narzędzi, takich jak jako gcc (które znajdziesz w kategorii Devel) ”
michaelok

1

Używam msysgit do instalowania gcc w systemie Windows, ma fajny instalator, który instaluje prawie wszystko, czego możesz potrzebować. Większość programistów będzie potrzebować czegoś więcej niż tylko kompilatora, np. Powłoki, narzędzi powłoki, make, git, svn, itp. Msysgit zawiera wszystko. https://msysgit.github.io/

edycja: teraz używam msys2. Msys2 używa pacmanArch Linux do instalowania pakietów i obejmuje trzy środowiska do tworzenia aplikacji msys2, 32-bitowych aplikacji natywnych i 64-bitowych aplikacji natywnych. (Prawdopodobnie chcesz tworzyć natywne aplikacje 32-bitowe).

https://msys2.github.io/

Możesz także przejść na tryb full-monty i zainstalować code :: blocks lub inny edytor GUI, który jest dostarczany z kompilatorem. Wolę używać vima i tworzyć.


Czy msysgit nadal działa dla Ciebie? Ten adres URL przekierowuje do Git dla Windows, gdzie nie ma wzmianki o gcc. Miałem pecha z Git dla Windows, ale to może być inna historia. Jest tam również komunikat „msysGit został zastąpiony przez Git dla Windows 2.x”
Bob Stein

Teraz używam msys2 zamiast msysgit. msys2.github.io Zaktualizowałem moją odpowiedź.
Sam Watkins
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.