2012-02-08 40 views

回答

19

它们都是很好的工具。重要的是要知道,他们不一定能够很好地合作。也就是说,当你将库链接在一起时,它们都必须使用相同的工具链。出于这个原因,在我看来,最好使用Visual Studio编译器(MSVC),因为它是Windows上的“头等公民”;其他人则被视为二等。

我的意思是,你可以非常依赖使用MSVC的二进制形式的第三方库,或者至少构建使用MSVC的指令。我们有很多第三方库的问题,无法在MinGW中编译,或者不存在编译指令,也不得不进行大量的手动Makefile编辑等。如果使用MSVC,您更有可能拥有“正常工作”的东西。

这就是我们的经验(我们从MinGW开始);你的旅费可能会改变。

+1

但是,如果您已经使用Qt SDK安装了MinGw,您为什么要使用视觉工作室? – Anonymous 2012-02-09 21:58:05

+3

这就是我的第二段所解释的。如果VS的成本有问题,您可以使用免费的SDK - 它只是您需要的编译器,而不是IDE。您仍然可以使用Qt Creator作为您的IDE,只需告诉它使用MSVC工具链即可。 – 2012-02-09 22:02:47

2

MinGW使用GCC,GCC对MSVC有一个显着的优势 - 它是便携式的。 MSVC仅限于微软平台,GCC几乎支持一切,包括8位嵌入式CPU。这意味着您可以在不同的平台上使用相同的指令并编译扩展。

另外,MinGW体积小巧,安装快捷,甚至捆绑Qt版本。 与MSVC不同,它甚至不能单独使用,你必须安装visual studio,它本身会安装一堆你不需要但不能退出的垃圾。

UPDATE 现在可以得到不带VS的MS编译器,也就是MS Build Tools。另外,如果你想为Windows创建铬(也就是QtWebEngine),你需要来使用MSVC,这是谷歌强加的限制,因为它们只支持使用平台本地编译器进行构建。

最后但并非最不重要的一点,你可以得到MSYS2,它有一个MinGW的仓库和大量的准备使用的静态和动态库为它构建,所以你可以避免艰难的,经常容易出错的构建过程。