最近我尝试在Qt5.6.2 MSVC 2013上将Windows上的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之前,我没有看到这种错误。我还尝试了以下方法:
我仍然收到相同的错误消息。
当我去调试文件夹时,双击exe文件,它说有些Qt dll丢失了。然后我手动复制到调试文件夹,然后exe可以运行没有问题。
现在我想从Qt Creator中运行应用程序,但不确定Qt Creator 4.2.1的问题是什么。我在Google上研究了几个小时,但仍然无法找出Qt Creator无法运行项目的原因,即使它是自己的示例项目。 (我自己项目的错误相同)
我觉得它必须与Qt创建者环境/设置有关。有人对这个问题有任何想法吗?
更新1:
我尝试将MinGW与Qt Creator一起使用,可以正确运行地址簿示例。看起来它与MSVC 2015有关。我需要MSVC 2015,因为所有其他环境都不支持webenginewidgets,我得到了:
:-1: error: Unknown module(s) in QT: webenginewidgets
不确定这是否是Qt或Qt创建者中的错误。
更新2:
答案 0 :(得分:3)
我终于解决了这个问题。原因是缺少Windows 10 SDK。
下载并安装Windows 10 SDK的所有默认组件后,所有内容都适用于Windows 7 32位。
基本上,为了确保我们可以在Windows上使用Qt5.8.0 +(包括Qt WebEngine),我们需要同时安装:
答案 1 :(得分:1)
我迟到了,但我发现主要罪魁祸首是" ucrtbased.dll "。
我没有安装Windows 10 SDK。
我安装了Windows 7 SP1 x64, Qt 5.9.2 ,安装了Visual Studio Build Tools 2015(v14.0.25420.1)和安装了MS Debugger Tools(CDB)的Windows 8.1 SDK 。发布配置版本没有任何问题,但调试配置表现出相同的崩溃行为。 修复很简单。 Visual Studio Build Tools 2015与Win8.1 SDK的正常安装位置" ucrtbased.dll " in" C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ x64 \ ucrt"对于64位和" .. \ x86 \ ucrt"对于32位版本 - 甚至没有安装Windows 10 SDK。如果它们包含在系统路径中,或者复制到Qt的当前项目构建文件夹中,则问题就解决了。