C++ 已解决但未解释:Qt5.5 webkitwidgets、缺少DLL、意外崩溃

C++ 已解决但未解释:Qt5.5 webkitwidgets、缺少DLL、意外崩溃,c++,windows,qt,dll,C++,Windows,Qt,Dll,我做了一个非常简单和无聊的邮政编码->城市查找程序,它使用了一个在线api 我想添加允许选择api可以处理的任何国家的功能。为此,我想加载主页并解析DOM以获取所有国家/地区。这需要webkitwidgets。这是我要从中提取信息的表 不幸的是,当尝试运行该程序时,它甚至从未启动,并向我提供应用程序输出: Starting ZipcodeToLocation.exe... The program has unexpectedly finished. ZipcodeToLocation.exe c

我做了一个非常简单和无聊的邮政编码->城市查找程序,它使用了一个在线api

我想添加允许选择api可以处理的任何国家的功能。为此,我想加载主页并解析DOM以获取所有国家/地区。这需要webkitwidgets。这是我要从中提取信息的表

不幸的是,当尝试运行该程序时,它甚至从未启动,并向我提供应用程序输出:

Starting ZipcodeToLocation.exe...
The program has unexpectedly finished.
ZipcodeToLocation.exe crashed
因此,我尝试运行调试器:

An exception was triggered: 
Exception at 0x77cbd4f2, code: 0xc0000135: DLL not found, flags=0x0.
During startup program exited with code 0xc0000135.
奇怪的。。。所以我试着在互联网上找到这个错误信息,但没有什么真正的帮助。我想我可能设置错了,所以我打开webkitwidgets示例并编译它们。尝试运行时-出现相同错误

使用像依赖步行机这样的程序对我也没有多大帮助

我运行MaintanceTool来检查我是否遗漏了什么,但我无法检测到任何东西

顺便说一句,我正在Windows上运行QtCreator

我的职业选手

QT += core gui webkitwidgets network

CONFIG += c++14

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = ZipcodeToLocation
TEMPLATE = app


SOURCES += main.cpp\
        MainWindow.cpp

HEADERS  += MainWindow.hpp

FORMS    += MainWindow.ui
如果从主窗口中删除以下部分,则所有内容都会按预期运行:

auto page = new QWebPage(this);
page->mainFrame()->load(QUrl("http://www.zippopotam.us"));
注意:这是目前唯一使用webkitwidgets的部分

如果有人能帮我克服这个障碍,并对可能出现的问题提出建议,我会非常高兴

编辑:仅为使其完整,运行的屏幕截图: 德语部分翻译为系统找不到指定的文件

Edit2:如果您已安装QtCreator,并希望尝试复制我的错误,请创建新的QWidgets应用程序,编辑您的.pro,如下所示: QT+=核心gui webkitwidgets

主窗口末尾的这一行可能是webkitwidgets的任何用法都可以做到:

#include <QWebKitWidgets>
//...
QWebPage *page = new QWebPage(this);
Edit3:作为对最近一条评论的反应,我尝试将所有DLL从Qt目录复制到.exe位置版本,并尝试从那里运行它。它说缺少Qt5Positioning.dll。这很奇怪,因为我没有使用定位模块。。。但我想这就是dll崩溃的原因吧

编辑4:
我终于受够了,只是从头开始完全重新安装了Qt。不知何故,我的安装不得不搞砸了,因为在那之后问题就消失了。

您是否为发布软件提供了Webkit Qt dll?您在调试模式下也会遇到这个问题吗=我不明白您为什么特别要求WebKitDLL,因为我使用的是webkitwidgets,它也有其他依赖项。我非常确定,当从QtCreator内部运行时,我不必复制任何DLL,因为它知道DLL的位置。为了证明这一点,我确实将Webkit Qt dll复制到了相应的工作目录中——没有任何更改。就我所知,在调试模式下运行/调试的结果与发布模式相同。您是否向发布软件提供了Webkit Qt dll?您在调试模式下也会遇到这个问题吗=我不明白您为什么特别要求WebKitDLL,因为我使用的是webkitwidgets,它也有其他依赖项。我非常确定,当从QtCreator内部运行时,我不必复制任何DLL,因为它知道DLL的位置。为了证明这一点,我确实将Webkit Qt dll复制到了相应的工作目录中——没有任何更改。就我所知,在调试模式下运行/调试的结果与发布模式相同