我制作了一个非常简单而无聊的邮政编码 - >城市查找程序(它使用在线API)。
我想添加允许选择任何国家/地区的功能(api可以处理)。为此,我想加载主页并解析DOM以获取所有国家/地区。这需要webkitwidgets。 http://www.zippopotam.us/#where(这是我要从中提取信息的表格)
不幸的是,在尝试运行程序时,它甚至从未启动并向我提供应用程序输出:
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示例并编译它们。尝试运行时 - 同样的错误。
使用像某些依赖步行者这样的程序对我来说也没什么帮助。
我跑了MaintananceTool来检查我是否遗漏了什么,但我无法发现任何东西。
我在Windows btw上运行QtCreator。
我的.pro
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
如果我从主窗口ctor中删除以下部分,则所有内容都会运行:
auto page = new QWebPage(this);
page->mainFrame()->load(QUrl("http://www.zippopotam.us"));
注意:这是目前唯一使用webkitwidgets的部分。
如果有人能帮助我克服这个障碍并对可能出现的问题有任何建议,我会非常高兴。
编辑:只是为了完成,依赖运行的屏幕截图:https://i.imgur.com/YWpdlO6.png?1 德语部分转换为"系统无法找到指定的文件"。
Edit2:如果您安装了QtCreator并想尝试重现我的错误,请创建新的QWidgets应用程序,编辑您的.pro,如下所示:
QT += core gui webkitwidgets
这条线在MainWindow ctor的末尾(可能是webkitwidgets的任何用法):
#include <QWebKitWidgets>
//...
QWebPage *page = new QWebPage(this);
Edit3:作为对最近评论的反应,我尝试将所有dll从Qt目录复制到.exe位置(发布)并尝试从那里运行它。它说&#34;缺少Qt5Positioning.dll&#34;。这很奇怪,因为我没有使用位置模块...但我想这可以解释丢失的dll崩溃?
Edit4: 我终于受够了,只是从头开始完全重新安装了Qt。不知怎的,我的安装不得不搞砸了,因为之后问题就消失了。