2012-05-19 13 views
16

Quale comando è necessario immettere nella riga di comando in Windows 7 per compilare un programma C di base?Come compilare il programma C sulla riga di comando usando MinGW?

Come se stessi letteralmente chiedendo cosa scrivi nel prompt dei comandi, per compilare un file .c.

ho provato:

> gcc foo.c 

Ma dice:

'gcc' is not recognized as an internal or external command, 
operable program or batch file. 

Ho anche provato:

> minGW foo.c 

Ma sono tornato:

'minGW' is not recognized as an internal or external command, 
    operable program or batch file. 

Ho una variabile d'ambiente PATH impostato su cui è installato MinGW:

C:\Program Files (x86)\CodeBlocks\MinGW\bin 

Non posso davvero trovare alcuna informazione su dove sto andando male, e non riesce a trovare nulla nella documentazione ufficiale MinGW, come sembra che questo è qualcosa di così semplice, una domanda imbarazzante, che è capito che le persone sanno cosa fare?

+3

Cosa hai provato? Che errore stai ottenendo? Che messaggi vedi? Cosa stai cercando di compilare? "Non riesco a farlo funzionare" non è abbastanza informazioni per qualcuno che ti aiuti in modo significativo. –

+0

Ho un piccolo programma chiamato test.c che voglio compilare dalla riga di comando in Windows. I cd nella directory giusta in cui si trova ma il comando gcc restituisce il comando non riconosciuto, crea pure. –

+0

@CodyGray Il tuo collegamento sembra rotto. Potresti aggiornarlo? – itsols

risposta

12

Esso indica che non riusciva a trovare gcc.exe.

I have a path environment variable set to where MinGW is installed

Forse non hai impostato correttamente il percorso?

echo %path% 

indica il percorso di gcc.exe? In caso contrario, la compilazione è simile a Unix:

gcc filename.c -o filename 
+0

Echo% path% restituisce C: \ Programmi (x86) \ CodeBlocks \ MinGW \ bin e in bin è gcc.exe, corrisponde esattamente a dove si trova? –

+2

hmm ... pubblica il messaggio di errore esatto che ottieni. –

+0

'gcc' non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch. –

0

fanno come al solito ... Basta fare in modo di avere nel vostro percorso e corretto Makefile

2

Basta impostare la variabile d'ambiente per il percorso esatto per gcc.exe in questo modo:

C:\Program Files (x86)\CodeBlocks\MinGW\bin\gcc.exe 
+0

Non installare mai Mingw sul percorso che contiene spazi come "File di programma" – kuhajeyan

0

Invece di impostare la %PATH% puoi inserire il tuo msys shell. In standard msys e installazione mingw gcc è in path, quindi è possibile eseguire gcc o which gcc.

Ho un file batch sh.bat sul mio Windows 7, in% PATH%:

C:\lang\msys\bin\sh.exe --login %* 

Ogni volta che voglio usare gcc io entro cmd, quindi sh, quindi gcc. Lo trovo molto conveniente.

Quando si lavora con il software originato da Linux, evitare le directory distanziate come Program Files. Installarli piuttosto a Program_Files. Per quanto riguarda gli strumenti che potresti voler eseguire dall'ambiente msys.

1

Ho riscontrato lo stesso messaggio di errore dopo aver disimballato gli archivi MinGW su C:\MinGW e impostato il percorso della variabile di ambiente come C:\MinGW\bin;.

Quando provo a compilare ottengo questo errore!

gcc: error: CreateProcess: No such file or directory

ho finalmente capito che alcuni degli archivi scaricate sono stati segnalati rotti mentre li unpaking a C:\MinGW (ancora ho ignorato questo inizialmente). Una volta eliminati i file danneggiati e scaricato nuovamente tutti gli archivi da SourceForge, li ho decompressi in C: \ MinGW correttamente, l'errore era scomparso, e il compilatore funzionava correttamente ed emetteva il mio desiderato hello.exe.

mi sono imbattuto in questo modo:

gcc hello.c -o hello 

Il risultato risultato è stato questo (una sottolineatura lampeggiante):

_

0

Se si è incollato il testo nella variabile percorso e aggiunto uno spazio bianco prima della punto e virgola, è necessario eliminarlo e aggiungere una barra rovesciata alla fine della directory (; C: \ Programmi (x86) \ CodeBlocks \ MinGW \ bin

8

Ho avuto questo problema e non riuscivo a trovare il motivo per cui continuava a succedere. Il motivo è semplice: una volta impostati i percorsi di ambiente, è necessario chiudere la finestra di CMD e aprirla di nuovo per essere a conoscenza dei nuovi percorsi di ambiente.

+0

Questo. Ho aperto 5 blog, 10 nuovi articoli, ho controllato il percorso 20 volte e quello che ho dimenticato è stato chiudere e riaprire CMD per riflettere le variabili modificate ... – powersource97

+0

tu sei Dio :) grazie –

+0

grazie mille! era borderline frustrato! –

0

Una volta ho avuto questo tipo di problema nell'installazione di MinGW in Windows, anche dopo aver aggiunto il giusto PERCORSO di sistema nelle variabili di ambiente.

Dopo giorni di miseria, ho finalmente inciampato su un thread che raccomanda di disinstallare il compilatore MinGW originale e l'eliminazione della cartella C:\MinGW e l'installazione del compilatore MinGW TDM-GCC che può essere trovato here.

Hai opzioni di scegliere un programma di installazione 64/32-bit dalla pagina di download e crea anche le variabili del percorso di ambiente.

1

Ho avuto lo stesso problema con i file .c che contenevano funzioni (non main() del mio programma). Ad esempio, i miei file di intestazione erano "fact.h" e "fact.c", e il mio programma principale era "main.c" così i miei comandi erano come questo:

E:\proj> gcc -c fact.c 

Ora ho avuto un file oggetto di fact.c (fact.o). successivamente:

Quindi il mio programma (prog.exe) era pronto per l'uso e funzionava correttamente. Penso che -c dopo gcc sia stato importante, perché rende i file oggetto che possono essere allegati per rendere il programma di cui abbiamo bisogno. Senza usare -c, gcc cerca di trovare main nel tuo programma e quando non lo trova, ti dà questo errore.

1

È possibile includere in modo permanente la directory del file MinGW, facendo clic su Risorse del computer, Proprietà, Impostazioni di sistema avanzate, Variabili di ambiente, quindi modificare e incollare la directory.

0

Dove è il tuo gcc?

Il mio gcc è in "C: \ Programmi \ CodeBlocks \ MinGW \ bin \".

"C:\Program Files\CodeBlocks\MinGW\bin\gcc" -c "foo.c" 
"C:\Program Files\CodeBlocks\MinGW\bin\gcc" "foo.o" -o "foo 01.exe" 
0

Sono in ritardo a rispondere a questa domanda (5 anni per la precisione) ma spero che questo aiuti qualcuno.

Ho il sospetto che questo errore sia dovuto alle variabili di ambiente anziché a GCC. Quando imposti una nuova variabile di ambiente, devi aprire un nuovo prompt dei comandi! Questo è il problema il 90% delle volte (quando ho scaricato GCC per la prima volta sono rimasto bloccato per 3 ore!) Se questo non è il caso, probabilmente non hai impostato correttamente le variabili d'ambiente o sei in una cartella con spazi nel nome.

Una volta che GCC funziona, può essere una seccatura compilare ed eliminare ogni volta. Se non vuoi installare un ide completo e hai già installato python, prova questo progetto github: https://github.com/sophiadm/notepad-is-effort È un piccolo IDE scritto con tkinter in python. Puoi semplicemente copiare il codice sorgente e salvarlo come file .py

0

In Windows 10, passi simili possono essere seguiti in altre versioni di Windows.

Fare clic destro su "Risorse del computer" selezionare Proprietà, Vai a Impostazioni di sistema avanzate -> Avanzate -> Seleziona "Variabili di ambiente ..".

Trova "Percorso" selezionalo e scegli l'opzione di modifica -> Fai clic su Nuovo e aggiungi "C: \ MinGW \ bin" (o la posizione di gcc.exe, se hai installato in qualche altro percorso) -> Salva e riavviare il prompt dei comandi. Gcc dovrebbe funzionare.

Problemi correlati