与 Qt5 网络工具包的链接错误



我想使用 qtwebkit 在 qt5 中制作一个浏览器,但是当我下载我的网站时发现一些错误。我不知道原因。我添加了webkit库,并在mainwindow.h中调用它:

主窗口.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtWebKit/QtWebKit>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow {
    Q_OBJECT
     public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
     private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_3_clicked();
    void on_pushButton_4_clicked();
private:
    Ui::MainWindow *ui; };
#endif // MAINWINDOW_H

主窗口.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_pushButton_clicked()
{
    ui->webView->back();
}
void MainWindow::on_pushButton_2_clicked()
{
    ui->webView->forward();
}
void MainWindow::on_pushButton_3_clicked()
{
    ui->webView->reload();
}
void MainWindow::on_pushButton_4_clicked()
{
    ui->webView->load("http://" + ui->lineEdit->text());
}

当我打电话给图书馆时

#-------------------------------------------------
#
# Project created by QtCreator 2013-10-31T07:39:06
#
#-------------------------------------------------
QT       += core gui QT       += webkit
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = mozilabrwser TEMPLATE = app
SOURCES += main.cpp
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui

我尝试更改webkit的名称,但仍然收到此错误:

D:ubuntoQT5ToolsQtCreatorbinmozilabrwsermainwindow.cpp:19: error:
undefined reference to `_imp___ZN8QWebView4backEv'
QT += core gui QT += webkit

是错误的。您似乎正在使用Qt 5,而在Qt 5中,正确的模块是webkitwidgets。第二个问题是格式,你似乎有两行连接。所以这应该有效:

QT += core gui
QT += webkitwidgets

注意:如果您需要让程序同时使用 Qt4 和 Qt5 进行编译,则需要使用条件,为 Qt4 添加webkitwebkitwidgets为 Qt5 添加。但对于一个爱好项目来说,这可能不是一个问题,在你真正需要它之前,没有必要用这些东西来破坏.pro文件(如果你想同时支持两者,你还需要一些源代码更改和代码#ifdef的东西,所以除非这是一个重要的要求,否则不要去那里)。


相同的两行连接问题似乎也符合TARGET = mozilabrwser TEMPLATE = app行。

相关内容

  • 没有找到相关文章

最新更新