【问题标题】:Qt - The compiler may not produce code compatible with the Qt versionQt - 编译器可能无法生成与 Qt 版本兼容的代码
【发布时间】:2021-12-11 22:13:16
【问题描述】:

我在 Windows 10 上使用 MSYS2 并安装了 Qt 6.2.0 和 Qt Creator 5.0.2。 然后我设置了 Qt Kit 并看到了这个警告:

Qt Kits warning

警告:编译器“MinGW-w64 MINGW64 C++ (MSYS2)” (x86-windows-msys-pe-64bit) 可能无法生成与 Qt 版本“Qt 6.2.0 (mingw64)”兼容的代码 (x86-windows-msys-pe-64bit)。

如何解决这个问题?

我使用 MSYS2 的 MINGW64 子系统,它安装了以下相关软件包:

mingw-w64-x86_64-gcc 11.2.0-1
mingw-w64-x86_64-gdb 11.1-1
mingw-w64-x86_64-qt-creator 5.0.2-2
mingw-w64-x86_64-qt6-* 6.2.0-2

我没有弄清楚用于构建 Qt6 包的工具链版本,以便为构建应用程序提供相同的工具链。我得到的唯一信息是ABI : x86-windows-msys-pe-64bitQT_VERSION : 6.2.0

警告消息说编译器和 Qt 有相似的x86-windows-msys-pe-64bit ABI,但似乎不够。

到目前为止,我已成功构建、运行和调试代码,但如果有意义的话,我仍然希望摆脱此警告。

【问题讨论】:

  • qt安装目录下应该有一个mkspecs/qconfig.pri文件,里面包含了使用的编译器版本(QT_GCC_MAJOR_VERSIONQT_GCC_MINOR_VERSIONQT_GCC_PATCH_VERSION)。
  • @ssbssa 感谢您的提示!我发现我的 Qt 6.2.0 是用 GCC 10.3.0 构建的,我很确定当我的 MSYS2 系统上使用相同的 GCC 时我已经看到了这个警告。尽管如此,我会尝试为 Qt Creator 提供与 Qt 相同的 GCC,看看会发生什么。

标签: qt qt-creator mingw-w64 msys2 qt6


【解决方案1】:

事实证明,当 Qt Creator Kit 设置中的 GCC 编译器和用于构建 Qt 安装的 GCC 编译器具有完全相同的版本时,此警告就会消失。

使用mingw64/share/qt6/mkspecs/qconfig.pri,正如 ssbssa 所建议的那样,我已经安装了 GCC 版本 Qt 安装并提供了 Qt Creator Kit 和具有相同版本的 GCC 编译器。现在我看到警告消失了。

【讨论】:

    猜你喜欢
    • 2013-12-03
    • 2021-11-29
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多