2012-02-08 23 views
23

Sto provando a compilare qt e mi trovo di fronte a due scelte se utilizzare il compilatore MinGw o Visual Studio? Qual è la differenza tra loro e ci sono vantaggi/svantaggi dell'utilizzo di uno o dell'altro?Windows Qt con MinGw o Visual Studios?

risposta

19

Sono entrambi strumenti eccellenti. La cosa importante da sapere è che non necessariamente giocano bene insieme. Cioè, quando colleghi le librerie insieme, devono usare tutte la stessa catena di strumenti. Per questo motivo, a mio parere, è meglio utilizzare il compilatore Visual Studio (MSVC), poiché è il "cittadino di prima classe" su Windows; gli altri sono trattati in qualche modo come di seconda classe.

Ciò che intendo è che puoi praticamente contare su librerie di terze parti disponibili in formato binario utilizzando MSVC, o almeno creare istruzioni disponibili utilizzando MSVC. Abbiamo avuto molti problemi con le librerie di terze parti che non sono state in grado di compilare MinGW o avere istruzioni di compilazione inesistenti e dover fare un sacco di modifica manuale del Makefile, ecc. È molto più probabile che le cose "funzionino" se si utilizza MSVC .

Questa è solo la nostra esperienza (abbiamo iniziato con MinGW); il tuo chilometraggio può variare.

+1

Ma perché dovresti usare gli studi visivi se hai già installato MinGw con l'SDK Qt? – Anonymous

+3

Questo è ciò che spiega il mio secondo paragrafo. Se il costo di VS è un problema, puoi utilizzare l'SDK gratuito: è solo il compilatore di cui hai bisogno, non l'IDE. Puoi ancora usare Qt Creator come IDE, basta dire a usare la catena di strumenti MSVC. –

2

MinGW utilizza GCC e GCC ha un vantaggio significativo per MSVC: è portatile. MSVC è limitato alle piattaforme Microsoft, GCC supporta praticamente tutto, incluse le CPU embedded a 8 bit. Ciò significa che puoi utilizzare le stesse direttive e compilare estensioni su piattaforme diverse.

Inoltre, MinGW è compatto, veloce da installare e una versione è addirittura in bundle con Qt. A differenza di MSVC, che non è nemmeno disponibile standalone, è necessario installare Visual Studio, che a sua volta installa un mucchio di spazzatura che non è necessario ma che non è possibile disattivare.

UPDATE È ora possibile ottenere il compilatore MS senza VS, a.k.a MS Build Tools. Inoltre, se vuoi creare chromium (a.k.a il QtWebEngine) per windows hai avere per utilizzare MSVC, questa è una limitazione imposta da google, in quanto supportano solo la creazione con il compilatore nativo della piattaforma.

Ultimo ma non meno importante, è possibile ottenere MSYS2, che ha un repository con MinGW e un sacco di librerie statiche e dinamiche pronte per l'uso, in modo da poter evitare il processo di build incline arduo e spesso fallimento.

Problemi correlati