2

最近我尝试在 Windows 7 32bit 上从 Qt5.6.2 MSVC 2013 升级 Qt 到 5.8.0,我看到了奇怪的问题。

我从这个链接下载并安装了 Visual Studio 2015:https ://www.visualstudio.com/downloads/

我安装Qt 5.8.0 MSVC 2015版本后,可以启动Qt Creator 4.2.1。在欢迎页面中,我选择了名为“通讯簿示例”的示例。然后单击“配置”项目后,该项目在 Qt Creator 中列出。

现在我尝试构建项目,它是成功的。但是当我尝试运行该项目时,我收到以下错误消息:

Starting C:\Qt\Examples\Qt-5.8\widgets\itemviews\build-addressbook-Desktop_Qt_5_8_0_MSVC2015_32bit-Debug\debug\addressbook.exe...
The program has unexpectedly finished.
C:\Qt\Examples\Qt-5.8\widgets\itemviews\build-addressbook-Desktop_Qt_5_8_0_MSVC2015_32bit-Debug\debug\addressbook.exe crashed.

在我使用 Qt5.6.2 和 MSVC 2013 之前,我没有看到这种错误。我还尝试了以下操作:

  • 使用离线安装程序重新安装 Qt5.8.0 MSVC 2015
  • 使用离线安装程序重新安装 Qt5.7.1 MSVC 2015
  • 使用离线安装程序重新安装 Qt5.6.2 MSVC 2015
  • 使用在线安装程序重新安装 Qt5.8.0,其中我选择了 MSVC 2013 和 MSVC 2015

我仍然不断收到相同的错误消息。

当我转到调试文件夹时,双击 exe 文件,它说缺少一些 Qt dll。然后我手动复制到调试文件夹,然后exe可以正常运行。

现在我想从 Qt Creator 内部运行应用程序,但不确定 Qt Creator 4.2.1 有什么问题。我在谷歌研究了几个小时,但仍然无法找出 Qt Creator 即使是自己的示例项目也无法运行项目的原因。(我自己的项目也有同样的错误)

我觉得这一定与 Qt 创建者环境/设置有关。有人对这个问题有任何想法吗?

更新1:

我尝试将 MinGW 与 Qt Creator 一起使用,地址簿示例可以正确运行。看起来它与 MSVC 2015 有关。我需要 MSVC 2015,因为所有其他环境都不支持 webenginewidgets,我得到了:

:-1: error: Unknown module(s) in QT: webenginewidgets

不确定这是 Qt 还是 Qt creator 中的错误。

更新 2:

在我的 Qt Creator 中,我看到了 MSVC 2013 和 MSVC 2015 编译器的警告图标,请看下面的截图: 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

3

我终于解决了这个问题。原因是缺少Windows 10 SDK 。

在我下载并安装了Windows 10 SDK的所有默认组件后,一切都在 Windows 7 32bit 上运行。

基本上,为了确保我们可以在 Windows 上使用 Qt5.8.0+(包括 Qt WebEngine),我们需要同时安装:

于 2017-02-09T05:15:04.310 回答
1

我迟到了,但我发现罪魁祸首是“ ucrtbased.dll ”。

我没有安装 Windows 10 SDK。

我在 Windows 7 SP1 x64、Qt 5.9.2和 Visual Studio Build Tools 2015 (v14.0.25420.1) 和 Windows 8.1 SDK 上安装了 MS 调试器工具 (CDB)。发布配置构建没有任何问题,但调试配置表现出相同的崩溃行为。修复很简单。使用 Win8.1 SDK 正常安装 Visual Studio Build Tools 2015 会将“ ucrtbased.dll ”放置在“C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt”中,用于 64 位和“.. \x86\ucrt" 用于 32 位版本 - 甚至未安装 Windows 10 SDK。如果这些包含在系统路径中,或者复制到 Qt 的当前项目构建文件夹中,问题就简单地解决了。

于 2017-10-10T19:24:09.663 回答