2012-02-08 9 views
23

Je suis en train de compiler qt, et je suis confronté à deux choix d'utiliser MinGW ou compilateur Visual Studio? Quelle est la différence entre eux, et y a-t-il des avantages/désavantages à utiliser l'un ou l'autre?Windows Qt avec MinGw ou Visual Studios?

Répondre

19

Ils sont tous deux de bons outils. La chose importante à savoir est qu'ils ne jouent pas nécessairement bien ensemble. En d'autres termes, lorsque vous liez des bibliothèques, elles doivent toutes utiliser la même chaîne d'outils. Pour cette raison, à mon avis, il est préférable d'utiliser le compilateur Visual Studio (MSVC), car il est le «citoyen de première classe» sur Windows; les autres sont traités un peu en deuxième classe. Ce que je veux dire, c'est que vous pouvez à peu près compter sur des bibliothèques tierces disponibles sous forme binaire en utilisant MSVC, ou au moins construire des instructions en utilisant MSVC. Nous avons eu beaucoup de problèmes avec les bibliothèques tierces ne pouvant pas construire dans MinGW ou avoir des instructions de construction inexistantes et avoir à faire beaucoup d'édition manuelle de Makefile, etc. Vous êtes beaucoup plus susceptible de faire fonctionner les choses simplement si vous utilisez MSVC .

C'est juste notre expérience (nous avons commencé avec MinGW); Votre kilométrage peut varier.

+1

Mais pourquoi utiliseriez-vous les studios visuels si vous avez déjà installé MinGw avec le Qt SDK? – Anonymous

+3

C'est ce que mon second paragraphe explique. Si le coût de VS est un problème, vous pouvez utiliser le SDK gratuit - c'est seulement le compilateur dont vous avez besoin, pas l'IDE. Vous pouvez toujours utiliser Qt Creator comme IDE, juste lui dire d'utiliser la chaîne d'outils MSVC. –

2

MinGW utilise GCC et GCC présente un avantage significatif pour MSVC: il est portable. MSVC est limité aux plates-formes Microsoft, GCC supporte à peu près tout, y compris les processeurs embarqués à 8 bits. Cela signifie que vous pouvez utiliser les mêmes directives et compiler des extensions sur différentes plates-formes.

En outre, MinGW est compact, rapide à installer et une version est même fournie avec Qt. Contrairement à MSVC, qui n'est même pas disponible seul, vous devez installer Visual Studio, qui installe lui-même un tas d'ordures dont vous n'avez pas besoin mais que vous ne pouvez pas désactiver.

MISE À JOUR Il est maintenant possible d'obtenir le compilateur MS sans VS, a.k.a MS Construits Outils. En outre, si vous voulez construire du chrome (par exemple le QtWebEngine) pour Windows, avez pour utiliser MSVC, c'est une limitation imposée par google, car ils ne supportent que la compilation avec le compilateur natif de la plate-forme. Enfin, vous pouvez obtenir MSYS2, qui dispose d'un dépôt avec MinGW et de nombreuses bibliothèques statiques et dynamiques prêtes à l'emploi, afin d'éviter le processus de construction ardu et souvent sujet à l'échec.

Questions connexes