Wie installiere ich gcc auf einem Windows 7 Computer?

119

Ich habe MinGW auf meinem Windows 7-Computer. Ich möchte den vollständigen gcc für C-Compiler installieren und verwenden. Ich habe festgestellt, dass es zu diesem Zweck keine einzige vorkompilierte vorgefertigte Installationsdatei gibt. Ich habe die folgende Seite überprüft: http://gcc.gnu.org/install/ Es ist schwierig und ich finde es über meinem Verständnisniveau. Könnte mir bitte jemand eine schrittweise Anleitung zusammen mit Links geben?

KawaiKx
quelle

Antworten:

97

BEARBEITEN Seit nicht allzu langer Zeit hat MinGW-w64 eines der Toolchain-Bauprojekte "übernommen". Die Downloads finden Sie hier . Das Installationsprogramm sollte funktionieren und es Ihnen ermöglichen, eine Version auszuwählen, die Sie benötigen.

Beachten Sie, dass das Qt SDK mit derselben Toolchain geliefert wird. Wenn Sie also in Qt entwickeln und das SDK verwenden, verwenden Sie einfach die mitgelieferte Toolchain.

Eine andere Alternative mit aktuellen Toolchains stammt von ... harhar ... einem Microsoft-Entwickler, keinem anderen als STL (Stephan T. Lavavej, ist das kein perfekter Name für den Betreuer der MSVC ++ Standard Library!). Sie finden es hier . Es enthält Boost.

Eine weitere Option, die sehr nützlich ist, wenn Sie vorgefertigte Abhängigkeiten berücksichtigen , ist MSYS2 , das eine Unix-Shell (eine Cygwin-Gabel, die so modifiziert wurde, dass sie besser mit Windows-Pfadnamen und dergleichen funktioniert) bereitstellt, die auch ein GCC bereitstellt. Es bleibt normalerweise etwas zurück, aber das wird durch sein gutes Paketverwaltungssystem und seine Stabilität ausgeglichen. Sie bieten auch einen funktionalen Clang mit libc ++, wenn Sie sich für so etwas interessieren.

Ich lasse das Folgende als Referenz, empfehle jedoch dringend, MinGW.org nicht zu verwenden, da die unten aufgeführten Einschränkungen bestehen. TDM-GCC (die MinGW-w64-Version) bietet einige Hacks, die Sie in Ihrer speziellen Situation möglicherweise nützlich finden, obwohl ich für maximale Kompatibilität die Verwendung von Vanilla GCC jederzeit empfehle.


GCC für Windows wird derzeit von zwei Projekten bereitgestellt. Beide bieten eine eigene Implementierung des Windows SDK (Header und Bibliotheken), die erforderlich ist, da GCC nicht mit Visual Studio-Dateien funktioniert.

  1. Das ältere mingw.org, auf das @Mat Sie bereits hingewiesen hat. Sie bieten nur einen 32-Bit-Compiler. Hier finden Sie die Downloads, die Sie benötigen:

    • Binutils ist der Linker und Ressourcen-Compiler usw.
    • GCC ist der Compiler und ist in Kern- und Sprachpakete unterteilt
    • GDB ist der Debugger.
    • Die Laufzeitbibliothek wird nur für mingw.org benötigt
    • Möglicherweise müssen Sie mingw32-make separat herunterladen.
    • Für Unterstützung können Sie versuchen (erwarten Sie keine freundlichen Antworten) [email protected]

    Alternativ können Sie mingw-get herunterladen und verwenden.

  2. Das neuere mingw-w64, das, wie der Name schon sagt, auch eine 64-Bit-Variante und hoffentlich in Zukunft ARM-Unterstützung bietet. Ich benutze es und baue Toolchains mit ihrer CRT. Personal und Auto - Builds werden unter „Toolchains Targeting Win32 / 64“ gefunden hier . Sie bieten auch Linux-zu-Windows-Cross-Compiler. Ich schlage vor, Sie versuchen zuerst einen persönlichen Build, sie sind vollständiger. Probieren Sie meins (rubenvb) für GCC 4.6 bis 4.8 aus oder verwenden Sie sezeros für GCC 4.4 und 4.5. Wir bieten beide native 32-Bit- und 64-Bit-Toolchains an. Diese Pakete enthalten alles, was oben aufgeführt ist. Ich empfehle derzeit die Builds "MinGW-Builds", da diese derzeit als "offizielle Builds" zugelassen sind und mit einem Installationsprogramm geliefert werden (siehe oben).

    Für Support senden Sie eine E-Mail an [email protected] oder posten Sie im Forum über sourceforge.net.

Bei beiden Projekten sind die Dateien in sourceforge aufgeführt. Sie müssen lediglich entweder das Installationsprogramm ausführen (im Fall von mingw.org) oder ein geeignetes komprimiertes Paket herunterladen und extrahieren (im Fall von mingw-w64).

Es gibt viele "nicht offizielle" Toolchain-Entwickler, einer der beliebtesten ist TDM-GCC. Sie verwenden möglicherweise Patches, die die Binärkompatibilität mit offiziellen / nicht gepatchten Toolchains beeinträchtigen. Verwenden Sie sie daher vorsichtig. Verwenden Sie am besten die offiziellen Releases.

rubenvb
quelle
6
Ihre Antwort sieht sicherlich vollständig aus, aber ich verstehe nicht alles. Viele Begriffe in Ihrer Antwort sind für mich neu. Meine Absicht ist es, gcc c Compiler, Linker, Header-Dateien und Bibliotheksdateien zu erhalten. Ich habe Ihren persönlichen Build für GCC 4.6 heruntergeladen. Was mache ich jetzt als nächstes? bitte toleriere mit mir :-)
KawaiKx
9
@ Saurabh: Kein Problem, ich habe versucht, in Worten richtig zu sein. Sie extrahieren nun das Paket, um beispielsweise C:` so that C: \ mingw64 \ bin` (oder C: \ mingw32 \ bin ) contains gcc.exe, . Then, open a cmd.exe command prompt, and execute setzen Sie PATH = C: \ mingw64 \ bin;% PATH% `. Dann können Sie mingw32 aufrufen -make, gcc, gdb usw. über diese Befehlszeile. Programme, die es verwenden (wie cmake, Qt Creator, Codeblocks), benötigen es auch in PATH. Wenn Sie eine system- / benutzerweite PATH-Änderung benötigen, gehen Sie zu Systemsteuerung-> System -> Erweitert-> Umgebungsvariablen, und fügen Sie dort PATH hinzu oder ändern Sie es.
rubenvb
1
Habe das gemacht. es funktioniert gut. Vielen Dank. Warum ist die Installation des gcc-Compilers auf einem Windows-Computer so mühsam? War es ursprünglich nicht für die x86-Plattform gedacht?
KawaiKx
4
Es gibt höchstens 4-5 Entwickler, die sich mit GCC / binutils für Windows befassen. Sie machen einen tollen Job, überlassen es aber der Community, ihre Werkzeuge zu liefern. Verstehe hier nichts falsch: TDM gibt es schon lange und bietet ein praktisches Installationsprogramm, aber er sendet aus urheberrechtlichen Gründen keine Patches im Upstream. Codeblocks liefert eine MinGW-Toolchain mit der IDE, ebenso wie Qt. Aber keiner von ihnen liefert 64-Bit :). Das Erstellen von GCC selbst erfordert eine Unix-Umgebung wie Cygwin / MSYS oder noch besser: Linux. Der Erstellungsprozess ist nicht einfach. Die Installation ist jedoch nicht sehr aufwändig, sobald Sie wissen, was zu tun ist.
Rubenvb
1
@rubenvb, mir ist aufgefallen, dass Mingw64 jetzt ein Installationsprogramm hat, mit dem Sie Dinge auswählen können. Ist das eine schlechtere Idee als einen persönlichen Build zu bekommen?
Batbrat
26

Laden Sie mingw-get herunter und geben Sie einfach Folgendes aus:

mingw-get install gcc.

Siehe die Seite Erste Schritte .

Matte
quelle
2
Diese Installation installiert keine gcc Standard C-Bibliothek. Stattdessen wird msvcr *** verwendet. a. warum so? Liegt es daran, dass die gcc Standard C-Bibliothek Objektcodes enthält, die für Nicht-x86-Chips bestimmt sind?
KawaiKx
3
weil der MinGW-Port von GCC unter Windows die Windows-Standard-C-Bibliothek verwendet. Wenn Sie eine andere C-Bibliothek verwenden möchten, schauen Sie sich cygwin an (verwendet newlib). Ich bin mir nicht sicher, ob Sie viel Glück haben werden, GLIBC unter Windows zu bekommen (ich verstehe den Punkt auch nicht wirklich).
Mat
1
Was genau meinst du mit "MinGW-Port von GCC unter Windows"? Entschuldigung, es mag dumm klingen, aber ich bin neu in diesen Begriffen.
KawaiKx
2
Dies bedeutet, dass die von MinGW erstellte Version von GCC für Windows-Umgebungen ausgeführt wird und auf diese abzielt.
Mat
11
  1. Extrahieren Sie das Paket von hier nach C: \ und installieren Sie es

  2. Kopieren Sie den Pfad, C:\MinGW\binder gcc.exe enthält.

  3. Gehen Sie zu Control Panel->System->Advanced>Environment variablesund fügen Sie PATH hinzu oder ändern Sie es. (verketten Sie einfach mit ';')

  4. Dann open a cmd.exe command prompt(Windows + R und geben Sie cmd ein, falls bereits geöffnet, schließen und öffnen Sie eine neue, um die Pfadänderung zu erhalten)

  5. Ändern Sie den Ordner in Ihren Dateipfad um cd D:\c code Path

  6. Typ gcc main.c -o helloworld.o. Der Code wird kompiliert. zumC++ use g++

7 Geben Sie ein ./helloworld, um das Programm auszuführen.

Wenn zlib1.dll fehlt, laden Sie es hier herunter

Vinoj John Hosan
quelle
6

Nach der Antwort von Mat (verwenden Sie Cygwin) finden Sie hier einige detaillierte Anweisungen für: Installieren von gcc unter Windows Die gewünschten Pakete sind gcc, gdb und make. Mit dem Cygwin-Installationsprogramm können Sie bei Bedarf zusätzliche Pakete installieren.

Michaelok
quelle
Ich habe Cygwin installiert und benötigte Pakete. Ich habe auch über die Windows-Befehlszeile überprüft, ob auf gcc, gdb und make zugegriffen werden kann. Aber immer noch schlägt die Installation von Rails Gem mit dem gleichen Fehler fehl! Hat jemand Cygwin und Rails unter Windows erfolgreich ausprobiert?
Vishal Biyani
Wenn ich gccan der Eingabeaufforderung ausgeführt werde, wird mir der Zugriff verweigert, nicht sicher warum
Vishal Biyani
3
Heutzutage würde ich wahrscheinlich mit etwas wie Oracle VirtualBox ( virtualbox.org ) oder VMWare anstelle von Cygwin gehen. Dann können Sie beide Betriebssysteme auf demselben Computer ausführen. Haben Sie Rails Installer für Rails ausprobiert? railsinstaller.org
michaelok
Vielen Dank für den Tipp @michaelok, werde das sicher versuchen
Vishal Biyani
Ich konnte es auch nicht finden und habe es auf die Cygwin-Hauptseite aktualisiert. Was am Installationsprogramm schwierig ist, ist sicherzustellen, dass Sie die richtigen Pakete auswählen. Aus den Anweisungen, die Folgendes zu gcc zu sagen haben: "Standardmäßig installiert setup.exe nur die Pakete in der Basiskategorie und ihre Abhängigkeiten, was zu einer minimalen Cygwin-Installation führt. Dies schließt jedoch nicht viele häufig verwendete Tools wie z als gcc (die Sie in der Kategorie Devel finden) "
michaelok
1

Ich benutze msysgit, um gcc unter Windows zu installieren. Es hat ein nettes Installationsprogramm, das fast alles installiert, was Sie möglicherweise benötigen. Die meisten Entwickler benötigen mehr als nur den Compiler, z. B. die Shell, die Shell-Tools, make, git, svn usw. msysgit wird mit all dem geliefert. https://msysgit.github.io/

edit: Ich benutze jetzt msys2. Msys2 verwendet pacmanArch Linux zur Installation von Paketen und umfasst drei Umgebungen zum Erstellen von msys2-Apps, nativen 32-Bit-Apps und nativen 64-Bit-Apps. (Sie möchten wahrscheinlich native 32-Bit-Apps erstellen.)

https://msys2.github.io/

Sie können auch den Code montieren und Code :: -Blöcke oder einen anderen GUI-Editor installieren , der mit einem Compiler geliefert wird . Ich benutze lieber vim und mache.

Sam Watkins
quelle
Funktioniert msysgit noch für Sie? Diese URL leitet zu Git für Windows weiter, wo ich keine Erwähnung von gcc sehe. Ich hatte Pech mit Git für Windows, aber das könnte eine andere Geschichte sein. Es gibt auch die Meldung "msysGit wurde von Git für Windows 2.x ersetzt"
Bob Stein
Ich benutze jetzt msys2 anstatt msysgit. msys2.github.io Ich habe meine Antwort aktualisiert.
Sam Watkins