2009-07-13 16 views
14

GCC è un compilatore multilingue molto ben rispettato (da quello che ho raccolto). Una cosa che non sono stato in grado di scoprire definitivamente è: È possibile utilizzare GCC su Windows senza qualcosa di più come Cygwin o MinGW?È possibile utilizzare GCC senza Cygwin o MinGW?

Ho appreso che se si utilizza GCC su Cygwin, esiste una dipendenza da una DLL. Se si utilizza GCC con MinGW, si elimina tale dipendenza ma è comunque necessario utilizzare MinGW per utilizzare GCC.

È possibile creare GCC e utilizzarlo da solo, completamente nativo per Windows? Come il compilatore di Microsoft? Dopo aver letto in giro, la mia indovina è no. Ma vorrei ancora più informazioni, se possibile.

In caso contrario, perché GCC richiede ambienti come Cygwin o MinGW? Capisco questo ora. È perché GCC richiede un ambiente Unix/POSIX. Perché lo fa, ancora oltre me.

ho trovato questo e aiuta, ma non realtà non rispondere alla mia domanda: Why does GCC-Windows depend on cygwin?

Per affinare la mia domanda, Credo che quello che sto cercando di capire perché GCC non può stare su è proprio - Dove ho appena "GCC.exe".

+1

La risposta è ideologica, Frank.Personalmente, sarei felice di vedere un gcc per Windows che non si basa su Posix. –

+1

Una cosa da notare, quando si distribuisce un programma creato con MSVC, è ancora necessario includere librerie ridistribuibili. Con MinGW, ridistribuisci mingwm10.dll. –

+1

@ Marco No non è così. Ad esempio, il mio strumento CSVfix compilato con MinGW dipende solo da MSVCRT.DLL, proprio come qualsiasi altra applicazione Windows C/C++. –

risposta

10

Per MinGW, è necessario MinGW nel senso che MinGW fornisce l'implementazione del sistema di linguaggio gcc. Non vedo come la tua domanda abbia senso: è come "Posso usare VC++ senza installare VC++?"

Per chiarire: MinGW è l'eseguibile del compilatore GCC, le intestazioni e gli oggetti di supporto. Non c'è nient'altro. Esiste un pacchetto correlato ma indipendente chiamato MSYS che fornisce alcune utilità posix, ma non è necessario in alcun modo per utilizzare la versione MinGW di GCC.

+2

Posso usare il compilatore senza avere l'IDE installato. Avrei solo bisogno di compilatore eseguibile e qualsiasi intestazione e supporto associati. Non sono un esperto di compilatori; Non pretendo di essere. Ma sento che la mia domanda è ancora valida e ha senso. Forse hai bisogno di allontanarti da alcune delle tue presunte conoscenze - la tua conoscenza potrebbe essere ciò che mi manca. –

+0

Sì! hai provato a installarlo e ad usarlo? –

+1

Stai cercando di dire che MinGW è, in sostanza, per cosa sto chiedendo/per? Che è una versione del GCC che può corrispondere più strettamente a ciò che sto chiedendo? –

1

Non credo. Ho dovuto compilare alcune app a linea di comando per le persone in passato e ho sempre dovuto usare cygwin.

Penso che il motivo principale sia la compatibilità posix, che è ciò che Cygwin si sforza di portare a Win32.

+0

mingw sta migliorando. Compro sistematicamente gdb e binutils con esso (per scopi incrociati). –

1

Qual è esattamente il problema con mingw? E cos'è nativo?

mingw utilizzato per generare binari praticamente indipendenti, e forse è ancora più nativo di MSVC, che richiede msvcrt, un componente che deve essere installato a volte.

Quindi forse potresti spiegare cosa hai provato con mingw e qual è il problema esatto.

2

Per disabilitare la dipendenza extra di mingw semplicemente non utilizzare eccezioni (-fnove-eccezioni), non ho usato cygwin quindi non sono sicuro.

-1

Linaro era solito fornire molto tempo fa un GCC che gira in modo ingenuo su Windows senza MinGW o Cygwin. Attualmente sto usando quel GCC 4.9 su un PC Windows 10 per compilare UEFI e funziona come un incantesimo.

https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.9-2014.09_win32.zip

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/17959362) – wdanda

Problemi correlati