使用QWebview给出编译错误,但不是因为Qt += webkit从.pro文件中缺失
Using QWebview gives compiling errors, but not because Qt += webkit is missing from the .pro file
我在Qt中做了一个项目,并添加了一个QWebview,然后我将Qt += webkit
添加到.pro
文件中。然而,在编译时,我得到了这些错误:
...ui_mainwindow.h:42: error: undefined reference to `_imp___ZN8QWebViewC1EP7QWidget'
...ui_mainwindow.h:45: error: undefined reference to `_imp___ZN8QWebView6setUrlERK4QUrl'
错误指在这里(在ui_mainwindow.h
):
...
webView = new QWebView(centralWidget); // <-- First error here
webView->setObjectName(QStringLiteral("webView"));
webView->setGeometry(QRect(0, 0, 300, 200));
webView->setUrl(QUrl(QStringLiteral("about:blank"))); // <-- Second error here
MainWindow->setCentralWidget(centralWidget);
...
在Program.pro: QT += core gui webkit
我认为这些错误通常发生在没有Qt += webkit
的情况下,但在这种情况下,这不是发生的事情。
ui_mainwindow.h:42: error: undefined reference to ' _imp___ZN8QWebViewC1EP7QWidget'
链接器找不到webview小部件符号。
我认为这些错误通常发生在没有Qt += webkit的情况下,但在这种情况下,这不是发生的事情。
这是正确的,然而QtWebkit模块在Qt 5中被分成webkit和webkitwidgets,因为小部件通常在Qt 5中移动到它们单独的模块中,因为构建ui的方式是QtQuick。
要解决这个问题,您需要在项目文件中这样写:
QT = webkit webkitwidgets
注意,没有必要显式地使用core
和gui
模块,因为它们是默认添加的。此外,请确保您也安装了webkitwidgets模块,否则即使上面的内容也不够。
在Qt 5中,他们引入了webkit以外的东西:
试着放入。pro文件:Qt += core gui webkit widgets webkitwidgets
希望对你有帮助。
相关文章:
- 如何将网络模块添加到 QT pro 文件中?
- 如何解释 IDA Pro 生成的这些代码?
- Surface Pro平板电脑上的QML应用程序键盘行为
- 如何在.pro文件中为TARGET使用空格和尖括号
- 如何在Qt pro文件中添加导出路径
- 将文件复制到 pro/pri 文件中的新目录
- QT 5.9 Mac安装剂量不安装WebKit
- C++在Linux机器上使用cmake Qt5 Webkit进行交叉编译,使用mingw针对Windows,失败了
- 需要更新Qt .pro和Visual Studio .vcxproj添加新文件
- clang tidy pro type member init resharper
- 如何在QT中使用pro文件在重新编译时执行shell命令?
- 与 CLOB 兼容的 Pro-C 缓冲区类型
- 在Macbook Pro上实现clang -fno-stack-protector编译代码时出现问题
- QT:在".pro" ffly中指定项目目录,如"build"和"src"
- 将WebKit嵌入C 应用程序中
- Qt .pro 文件获取 Qtkit 名称
- 如何将Paraview源代码编译到QT项目(.pro)
- 从.pro编译可执行文件
- 我的C文件是从Pro*C生成的吗
- 使用QWebview给出编译错误,但不是因为Qt += webkit从.pro文件中缺失