带有 VS 2017 的 QT 5.9 - 使用 QWebEngineView 获取未解析的符号

QT 5.9 with VS 2017 - getting unresolved symbols with QWebEngineView

我正在尝试 C++ 和 QT 5.9。

我是 运行 QT Tools for VS 2017,QT 5.9 库添加到 VS 2017,我正在构建 QT GUI 应用程序,没有问题。

但是,当我尝试构建一个 非常 简单的示例,其中包含 QWebEngineView 或 QWebEnginePage 时,我得到未解析的外部符号“__declspec(dllimport).. .在 QWebEngineView 上... 我还注意到一些#includes 与 QT 5.9 文档站点上的示例不匹配...

我已经卸载并重新安装了 QT 5.9 和 5.6 几次,并将我可以包含的每个模块都包含在每个模块中,以防万一!

代码

#include <QtWidgets/QtWidgets>
#include <QtWidgets/QApplication>
#include <QtWebEngineWidgets/QtWebEngineWidgets>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWebEngineView view;
    view.show();
    view.load(QUrl("http://google.com"));

    return a.exec();
}

构建输出

1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QWebEngineView::QWebEngineView(class QWidget *)" (__imp_??0QWebEngineView@@QEAA@PEAVQWidget@@@Z) referenced in function main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QWebEngineView::~QWebEngineView(void)" (__imp_??1QWebEngineView@@UEAA@XZ) referenced in function main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl QWebEngineView::load(class QUrl const &)" (__imp_?load@QWebEngineView@@QEAAXAEBVQUrl@@@Z) referenced in function main

您需要将QtWebEngine 库添加到链接器。打开 qmake .pro 文件并添加 QT += webenginewidgetshttp://doc.qt.io/qt-5/qwebengineview.html