【问题标题】:Make - Internal compiler Error under QT 5.14.2 "Q_CORE_EXPORT"Make - QT 5.14.2“Q_CORE_EXPORT”下的内部编译器错误
【发布时间】:2020-08-17 17:23:14
【问题描述】:

我刚刚在Win10下用QT安装了QT Creator来构建一个已经存在的项目。 (在 Ubuntu 下,运行 Make 文件一切正常)。我不是 QT 专家,因此我不知道如何解决该错误:

C:\Qt\5.14.2\mingw73_64\include/QtCore/qfloat16.h:102:54:内部编译器错误:在 make_rtl_for_nonlocal_decl 中,在 cp/decl.c:6590 Q_CORE_EXPORT static const quint32 mantissatable[];

我的 gcc 版本是 8.3.0(x86_64-posix-seh,由草莓perl.com 项目构建)。安装过程中是否有遗漏或损坏的东西?

【问题讨论】:

    标签: c++ qt gcc makefile mingw


    【解决方案1】:

    在 Windows 上,您通常需要使用与构建应用程序相同(或兼容,但可能难以验证)的编译器和相关构建选项构建的 Qt。

    我怀疑你会为那个版本的 gcc 找到一个预构建的 Qt SDK,所以如果你想使用它,你应该从源代码构建 Qt。在 Windows 上可能有点乏味,你必须满足一些先决条件等。我建议你使用 Qt 在线安装程序来安装 Qt SDK 的 MinGW 版本,以及匹配版本的 MinGW(也由 Qt 安装程序提供。

    【讨论】:

    • 我无法解决这个错误。我刚刚安装了用于实现这个项目的 QT 版本,但我遇到了同样的问题......
    • 你确定它是用同一个编译器构建的吗?
    • 我刚刚从 qmake.stash 中发现,用于创建 make 文件的包含脚本总是引用 gcc 编译器的错误路径。因此,我使用 QT Creator 手动构建 i 并且它按预期工作。所以我猜这个错误是由于环境变量中gcc的路径不同
    • 如果你愿意,你可以把它写成答案。
    【解决方案2】:

    我刚刚从 qmake.stash 中发现,用于创建 make 文件的包含脚本总是引用 gcc 编译器的错误路径。因此,我使用 QT Creator 手动构建 i 并且它按预期工作。所以我猜这个错误是由于环境变量中gcc的路径不同。

    【讨论】:

    • 请注意,Qt Creator 不会做任何“魔术”。从编译输出中,您可以检查它在构建项目时运行的命令,如果您启动“Qt 命令提示符”(应该可以从 Windows 开始菜单中获得)并手动运行相同的命令,您应该会得到相同的结果来自 Qt Creator。
    【解决方案3】:

    这里是bug,有补丁链接:https://github.com/msys2/MINGW-packages/issues/5006

    你也可以降级到 mingw gcc 8.2.0

    【讨论】:

      猜你喜欢
      • 2014-08-27
      • 2013-12-19
      • 2015-09-02
      • 2011-08-26
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多