【问题标题】:Is there any difference between Qt's MinGW, Code::Blocks' MinGW and MinGW it self?Qt的MinGW、Code::Blocks的MinGW和它自己的MinGW有什么区别吗?
【发布时间】:2015-03-23 17:44:48
【问题描述】:

Qt 和代码块下载包有他们的 MinGW 编译器。还有独立的 MinGW 本身。它们之间有什么区别吗?

我可以使用 Qt 的 MinGW 来构建代码块项目,反之亦然吗?

如果我想在没有 Qt Creator 或代码块的情况下构建 C++ 项目,是否需要另一个 MinGW?

或者,我可以在没有独立版 MinGW 的情况下只使用 Qt 或 Code Blocks 的 MinGW 吗?

【问题讨论】:

    标签: c++ qt mingw codeblocks


    【解决方案1】:

    为了方便起见,Qt Creator 和 CodeBlocks 都只是在其安装中捆绑了一个 MinGW (GCC) 版本,因此用户不必手动安装和配置它。在这两种情况下,您都可以选择在不安装 MinGW (GCC) 的情况下下载或安装 IDE,在这种情况下,您需要将 IDE 配置为使用您希望它使用的任何编译器(不仅可以是任何独立的 MinGW/GCC安装,还包括任何其他编译器,包括 MSVC(Microsoft 编译器)、ICC(Intel 的编译器)或 Clang)。

    Here 是为 Qt Creator 配置自定义编译器的指令。而here 是 CodeBlocks 的指令。

    它们之间有什么区别吗?

    据我所知,它们之间没有显着差异,当然版本不同。与 MinGW-GCC 捆绑在一起的 IDE 通常会附带一个特定的(并且通常更旧/更稳定)版本。当您安装独立的 MinGW-GCC 时,它可以是您选择的任何版本。版本之间存在差异,但通常不会“破坏”代码,只是更快/更好的编译或额外的高级功能(在任何情况下“默认”项目都不使用这些功能)。

    我可以使用 Qt 的 MinGW 来构建代码块项目,反之亦然吗?

    我很确定你可以。我看不出有什么理由不这样做。当然,您必须按照我上面链接的说明正确配置。

    如果我想在没有 Qt Creator 或代码块的情况下构建 C++ 项目,是否需要另一个 MinGW?

    如果你想在配置了特定编译器或安装 MinGW 的 IDE 之外构建东西,那么你必须确保setup a few things。独立安装 MinGW 时,此过程更容易,但您也可以弄清楚如何采用现有的 MinGW 安装(来自 Qt / CodeBlocks)并使其在 CMD / PowerShell / MSYS 下工作,但它有点棘手和更不寻常。

    【讨论】:

    • 注意版本。 MinGW 支持 SJLJ、SEH 和 DWARF-2。此外,C++ 库可能会在版本之间更改其类内存布局。所以坚持使用一个编译器版本,并用它编译所有库,除了纯 C 库,它们具有更成熟的 ABI。这样可以避免奇怪的错误。
    猜你喜欢
    • 2014-10-24
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多