Make - QT 5.14.2 下的内部编译器错误 "Q_CORE_EXPORT"

Make - Internal compiler Error under QT 5.14.2 "Q_CORE_EXPORT"

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

C:\Qt.14.2\mingw73_64\include/QtCore/qfloat16.h:102:54: internal compiler error: in make_rtl_for_nonlocal_decl, at cp/decl.c:6590 Q_CORE_EXPORT static const quint32 mantissatable[];

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

在 windows,你通常需要一个 Qt,它是用相同的(或兼容的,但很难验证)编译器和相关的构建选项构建的,就像你用来构建的一样你的申请。

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

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

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

你也可以降级到 mingw gcc 8.2.0