【问题标题】:Windows Qt with MinGw or Visual Studios?带有 MinGw 或 Visual Studios 的 Windows Qt?
【发布时间】:2012-03-01 11:10:38
【问题描述】:

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

【问题讨论】:

    标签: windows qt compiler-construction


    【解决方案1】:

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

    我的意思是,您几乎可以指望第三方库可以使用 MSVC 以二进制形式提供,或者至少可以使用 MSVC 构建指令。我们遇到了很多问题,第三方库无法在 MinGW 中构建,或者构建指令不存在,并且必须进行大量手动 Makefile 编辑等。如果使用 MSVC,您更有可能让事情“正常工作” .

    这只是我们的经验(我们从 MinGW 开始);您的里程可能会有所不同。

    【讨论】:

    • 但是,如果您已经安装了带有 Qt SDK 的 MinGw,为什么还要使用 Visual Studio?
    • 这就是我的第二段所解释的。如果 VS 的成本有问题,你可以使用免费的 SDK——它只是你需要的编译器,而不是 IDE。您仍然可以使用 Qt Creator 作为您的 IDE,只需告诉它使用 MSVC 工具链。
    【解决方案2】:

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

    此外,MinGW 结构紧凑,安装快捷,甚至还与 Qt 捆绑了一个版本。 与甚至无法独立使用的 MSVC 不同,您必须安装 Visual Studio,它本身会安装一堆您不需要但无法退出的垃圾。

    更新 现在可以在没有 VS 的情况下获得 MS 编译器,即 MS Build Tools。此外,如果您想为您必须使用 MSVC 的 Windows 构建 chromium(又名 QtWebEngine),这是 google 施加的限制,因为它们仅支持使用平台原生编译器进行构建。

    最后但并非最不重要的一点是,您可以获得 MSYS2,它有一个包含 MinGW 的存储库和大量为它构建的可立即使用的静态和动态库,因此您可以避免繁重且经常失败的构建过程。

    更新 仅供参考,对于 VS 构建工具 2019,仅 C++ 编译器就占用了大约 4.5 GB 的空间,如果单击“C++ 构建工具”并将其保留为默认值,则大约为 8。相比之下,GCC 9.x 大约为 150 mb。事实上,仅 MSVC 编译器就超过了我多年来使用的大量软件包以及它们的依赖项,总共超过 200 个软件包。此外,我想说 MSYS 为我发现自己需要的大约 98% 的库和工具提供了软件包,剩下的 2% 包括它拥有但未以适合我的用例的方式配置的库。不用说,数据包管理器使保持版本更新变得微不足道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-28
      • 2016-05-28
      • 2017-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      • 2012-10-11
      相关资源
      最近更新 更多