与MinGw或视觉工作室的Windows Qt?

我正在编译qt,并且面临着使用MinGw还是Visual Studio编译器的两个select? 它们之间有什么区别,使用其中一个有什么优点/缺点?

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

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

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

MinGW使用GCC,而GCC对MSVC有一个显着的优势 – 便携性。 MSVC仅限于微软平台,GCC支持几乎所有东西,包括8位嵌入式CPU。 这意味着你可以在不同的平台上使用相同的指令和编译扩展。

此外,MinGW紧凑,安装快捷,甚至捆绑了Qt版本。 不像MSVC,它甚至不是独立的,你必须安装Visual Studio,它本身安装了一堆你不需要但不能退出的垃圾。

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

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