come installare gcc su una macchina Windows 7?


119

Ho MinGW sulla mia macchina Windows 7. Vorrei installare e utilizzare il compilatore gcc completo per C. Ho scoperto che non esiste un singolo file di installazione precompilato già pronto per questo scopo. Ho controllato la pagina seguente: http://gcc.gnu.org/install/ È difficile e lo trovo al di sopra del mio livello di comprensione. Qualcuno potrebbe fornirmi una guida passo passo insieme ai link?

Risposte:


97

EDIT Da non così recentemente, MinGW-w64 ha "assorbito" uno dei progetti di costruzione della toolchain. I download possono essere trovati qui . Il programma di installazione dovrebbe funzionare e consentirti di scegliere la versione di cui hai bisogno.

Nota che Qt SDK viene fornito con la stessa toolchain. Quindi, se stai sviluppando in Qt e utilizzi l'SDK, usa semplicemente la toolchain con cui viene fornita.

Un'altra alternativa che ha toolchain aggiornati proviene da ... harhar ... uno sviluppatore Microsoft, nientemeno che STL (Stephan T. Lavavej, non è un nome perfetto per il manutentore di MSVC ++ Standard Library!). Puoi trovarlo qui . Include Boost.

Un'altra opzione che è molto utile se ti interessano le dipendenze predefinite è MSYS2 , che fornisce una shell Unix (un fork di Cygwin modificato per funzionare meglio con i nomi di percorso di Windows e simili), fornisce anche un GCC. Di solito è un po 'indietro, ma ciò è compensato dal suo buon sistema di gestione dei pacchetti e dalla stabilità. Forniscono anche un Clang funzionale con libc ++ se ti interessa una cosa del genere.

Lascio quanto segue come riferimento, ma consiglio caldamente di non utilizzare MinGW.org, a causa delle limitazioni descritte di seguito. TDM-GCC (la versione MinGW-w64) fornisce alcuni hack che potresti trovare utili nella tua situazione specifica, anche se consiglio di utilizzare sempre GCC vanilla per la massima compatibilità.


GCC per Windows è attualmente fornito da due progetti. Entrambi forniscono un'implementazione molto personale di Windows SDK (intestazioni e librerie) che è necessaria perché GCC non funziona con i file di Visual Studio.

  1. Il vecchio mingw.org, a cui @Mat ti ha già indicato. Forniscono solo un compilatore a 32 bit. Vedi qui per i download di cui hai bisogno:

    • Binutils è il linker e il compilatore di risorse ecc.
    • GCC è il compilatore ed è suddiviso in pacchetti di lingua e core
    • GDB è il debugger.
    • la libreria runtime è richiesta solo per mingw.org
    • Potrebbe essere necessario scaricare separatamente mingw32-make.
    • Per il supporto, puoi provare (non aspettarti risposte amichevoli) mingw-users@lists.sourceforge.net

    In alternativa, scarica mingw-get e usalo.

  2. Il più recente mingw-w64, che come prevede il nome, fornisce anche una variante a 64 bit e, si spera, in futuro un po 'di supporto ARM. Lo uso e ho costruito toolchain con il loro CRT. Le build personali e automatiche si trovano in "Toolchains targetting Win32 / 64" qui . Forniscono anche cross-compilatori da Linux a Windows. Ti suggerisco di provare prima una build personale, sono più complete. Prova il mio (rubenvb) per GCC da 4.6 a 4.8, o usa sezero per GCC 4.4 e 4.5. Entrambi forniamo toolchain nativi a 32 e 64 bit. Questi pacchetti includono tutto ciò che è elencato sopra. Attualmente raccomando le build "MinGW-Builds", poiché sono attualmente sanzionate come "build ufficiali" e vengono fornite con un programma di installazione (vedi sopra).

    Per assistenza, invia un'e-mail a mingw-w64-public@lists.sourceforge.net o pubblica un post sul forum tramite sourceforge.net.

Entrambi i progetti hanno i loro file elencati su sourceforge, e tutto ciò che devi fare è eseguire il programma di installazione (nel caso di mingw.org) o scaricare un pacchetto zippato adatto ed estrarlo (nel caso di mingw-w64).

Ci sono molti costruttori di toolchain "non ufficiali", uno dei più popolari è TDM-GCC. Possono utilizzare patch che interrompono la compatibilità binaria con toolchain ufficiali / senza patch, quindi fai attenzione a usarli. È meglio usare le versioni ufficiali.


6
la tua risposta sembra certamente completa ma non la capisco tutta. molti termini nella tua risposta sono nuovi per me .. La mia intenzione è di ottenere il compilatore gcc c, il linker, i file di intestazione e i file di libreria. Ho scaricato la tua build personale per GCC 4.6. ora cosa faccio dopo? ti prego di tollerare con me :-)
KawaiKx

9
@Saurabh: nessun problema, ho cercato di essere corretto in termini di parole. Ora estrai il pacchetto, ad esempio C:` so that C: \ mingw64 \ bin` (o C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute set PATH = C: \ mingw64 \ bin;% PATH% `. Quindi sarai in grado di chiamare mingw32 -make, gcc, gdb, ecc. da quella riga di comando. Anche i programmi che lo utilizzano (come cmake, Qt Creator, Codeblocks) ne hanno bisogno in PATH. Nel caso in cui sia necessario un cambiamento PATH a livello di sistema / utente, vai su Pannello di controllo-> Sistema -> Avanzate-> Variabili d'ambiente e aggiungi o modifica PATH lì.
rubenvb

1
Fatto. funziona bene. grazie mille .. perché c'è così tanta seccatura nell'installare il compilatore gcc su una macchina Windows? non era pensato originariamente per la piattaforma x86?
KawaiKx

4
Ci sono al massimo 4-5 sviluppatori interessati a GCC / binutils per Windows. Fanno un ottimo lavoro, ma lascia che sia la comunità a fornire i loro strumenti. Non capisco male qui: TDM è in circolazione da molto tempo e fornisce un pratico programma di installazione, ma non invia patch a monte a causa di problemi di copyright. Codeblocks fornisce una toolchain MinGW con l'IDE, così come Qt. Ma nessuno di loro fornisce 64 bit :). La creazione di GCC richiede un ambiente Unix, come Cygwin / MSYS, o anche meglio: Linux. Il processo di compilazione non è semplice. Ma non è molto complicato installare una volta che sai cosa fare.
rubenvb

1
@rubenvb, ho notato che Mingw64 ora ha un programma di installazione che ti consente di scegliere le cose. È un'idea peggiore che ottenere una build personale?
batbrat

26

Scarica mingw-get e rilascia semplicemente:

mingw-get install gcc.

Vedere la pagina Introduzione .


2
questa installazione non installa la libreria C standard di gcc .. invece usa msvcr ***. a. perchè così? è perché la libreria C standard di gcc contiene codici oggetto destinati a chip non x86?
KawaiKx

3
perché il port MinGW di GCC su Windows utilizza la libreria C standard di Windows. Se vuoi usare un'altra libreria C, guarda cygwin (usa newlib). Non sono sicuro che avrai molta fortuna nell'ottenere GLIBC su Windows (non vedo nemmeno il punto).
Mat

1
cosa intendi esattamente con "MinGW port di GCC su Windows"? scusa, può sembrare stupido ma sono nuovo a questi termini ..
KawaiKx

2
Ciò significa che la versione di GCC prodotta da MinGW per funzionare e indirizzare gli ambienti Windows.
Mat

11
  1. Estrai il pacchetto in C: \ da qui e installalo

  2. Copia il percorso C:\MinGW\binche contiene gcc.exe.

  3. vai a Control Panel->System->Advanced>Environment variablese aggiungi o modifica PATH. (basta concatenare con ';')

  4. Quindi, open a cmd.exe command prompt(Windows + R e digitare cmd, se già aperto, chiudere e aprirne uno nuovo, per ottenere la modifica del percorso)

  5. cambia la cartella con il percorso del tuo file cd D:\c code Path

  6. genere gcc main.c -o helloworld.o . Compilerà il codice. perC++ use g++

7 digitare ./helloworldper eseguire il programma.

Se zlib1.dll non è presente, scaricalo da qui


6

Seguendo la risposta di Mat (usa Cygwin), ecco alcune istruzioni dettagliate per: installare gcc su Windows I pacchetti che vuoi sono gcc, gdb e make. Il programma di installazione di Cygwin ti consente di installare pacchetti aggiuntivi se ne hai bisogno.


Ho installato Cygwin e ho richiesto i pacchetti. Ho anche verificato dalla riga di comando di Windows che gcc, gdb e make siano accessibili. Ma ancora l'installazione di rails gem fallisce con lo stesso errore! Qualcuno ha provato con successo Cygwin e Rails su Windows?
Vishal Biyani

Inoltre, quando eseguo gccal prompt dei comandi, ottengo l'accesso negato, non so perché
Vishal Biyani

3
Al giorno d'oggi, probabilmente andrei con qualcosa come VirtualBox di Oracle ( virtualbox.org ) o VMWare invece di Cygwin. Quindi puoi eseguire entrambi i sistemi operativi sulla stessa macchina. Per quanto riguarda Rails, hai provato Rails Installer? railsinstaller.org
michaelok

Grazie per la punta @michaelok, proverò di sicuro
Vishal Biyani

Non sono riuscito a trovarlo, quindi l'ho aggiornato alla pagina principale di Cygwin. Ciò che è complicato nell'installer è assicurarsi di selezionare i pacchetti giusti. Dalle istruzioni, che dice questo su gcc: "Per impostazione predefinita, setup.exe installerà solo i pacchetti nella categoria Base e le loro dipendenze, risultando in un'installazione minima di Cygwin. Tuttavia, questo non includerà molti strumenti comunemente usati come as gcc (che troverai nella categoria Devel) "
michaelok

1

Uso msysgit per installare gcc su Windows, ha un bel programma di installazione che installa quasi tutto ciò di cui potresti aver bisogno. La maggior parte degli sviluppatori avrà bisogno di qualcosa di più del compilatore, ad esempio la shell, gli strumenti della shell, make, git, svn, ecc. Msysgit viene fornito con tutto questo. https://msysgit.github.io/

modifica: ora sto usando msys2. Msys2 utilizza pacmanArch Linux per installare i pacchetti e include tre ambienti, per la creazione di app msys2, app native a 32 bit e app native a 64 bit. (Probabilmente vorrai creare app native a 32 bit.)

https://msys2.github.io/

Puoi anche andare full-monty e installare code :: blocks o qualche altro editor di interfaccia grafica fornito con un compilatore. Preferisco usare vim e make.


Msysgit funziona ancora per te? Quell'URL reindirizza a Git per Windows dove non vedo menzione di gcc. Ho avuto sfortuna con Git per Windows, ma questa potrebbe essere un'altra storia. Inoltre c'è il messaggio "msysGit è stato sostituito da Git per Windows 2.x"
Bob Stein

Ora sto usando msys2 invece di msysgit. msys2.github.io Ho aggiornato la mia risposta.
Sam Watkins
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.