La compilazione con GCC su Windows 7: \ mingw32 \ bin \ ld.exe: non può aprire il file di output a.exe

StackOverflow https://stackoverflow.com/questions/3451816

Domanda

Questo è ciò che ottengo quando si cerca di compilare un semplice programma ciao mondo con gcc.

c:\>gcc hello.c
hello.c:9:2: warning: no newline at end of file
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot open output file a.exe
: Permission denied
collect2: ld returned 1 exit status

Ha qualcosa a che fare con Windows 7 privilegi di amministratore?

Se si crea il file di output, ma non può essere aperto, in cui si trova?

Scusate se questo è troppo di una domanda noobie. Sono stato con Dev-C ++ per compilare il mio codice sorgente fino ad ora. Ho provato googling attorno all'errore ma tutto ho trovato è stato il file è già aperto, ma non si fa menzione di tale exe nel task manager.

Edit: Anche il file si trova in C: \ ciao.c

sarò in grado di farlo se ho posto in altra unità?

quando ho posto il file in D: \ e cercare il cambiamento a qualsiasi altra unità utilizzando cd d:. \ Non cambia l'unità

È stato utile?

Soluzione

Sì, è un problema di autorizzazioni, non necessario eseguire la finestra della riga di comando in modalità Amministratore.

non funzionano in C: \

Copiare il file in una cartella sotto i miei documenti, o di una sottocartella di C :, o di un'altra unità.

In alternativa, eseguire la console in modalità Amministratore se si vuole veramente a lavorare nella radice di C:

Per passare al D: mentre in C :, basta digitare D: (si utilizza CD solo quando già sulla corretta)

Altri suggerimenti

Il caso più comune è che il programma può essere ancora in esecuzione in background, forse impiccato in un ciclo infinito. Si può provare a cercare il processo nella lista dei processi (premere Alt + Ctrl + Del ) e uccidendolo.

Il g ++. Exe-comando nella build-log negli spettacoli CodeBlocks-IDE il comando con un percorso aggiuntivo:. C:\MinGW\lib, che è sbagliato

  1. Se si copia il comando per un cmd-finestra (nella directory del progetto) senza la C:\MinGW\lib il compilatore funziona. Quando si copia il comando come indicato in CodeBlocks-Buil-log non riesce, con lo stesso messaggio nella cmd-finestra.

  2. Date un'occhiata al Settings > Compiler > Search Directories > Linker. Hai avuto modo di eliminare il ci C:\MinGW\lib, ma il bug è, che non viene eliminato se lo si fa una volta. Hai avuto modo di ripeterlo e allora funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top