QT5 QWebView erreurs de l'éditeur de liens

maintenant, je suis juste essayer d'obtenir des "www.google.com" pour charger dans une webview quand un bouton est pressé. Après que j'ai ajouté le webview dans le designer le linker commence à devenir fou. J'utilise QT Creater 2.6.1 avec QT5 sur Windows 7. J'ai ajouté le QT += 'WebKit stuff' à la .pro file. J'ai essayé de nettoyer et reconstruire, j'ai encore des erreurs de connexion.

pour une raison étrange, ajoutant "#include <QWebView>" dans n'importe quel fichier produit un fichier non trouvé erreur: "C:UsersScottDesktopeCookBookeCookBook2cookbook.rpc:3: erreur: C1083: Impossible d'ouvrir le fichier include: 'QWebView': No such file or directory"

livre de recettes.h:

#ifndef COOKBOOK_H
#define COOKBOOK_H

#include <QMainWindow>
#include <QtWebKit/QWebElement>
#include <QtWebKit/QtWebKit>
#include <QtWebKitWidgets/QWebPage>

namespace Ui {
class cookBook;
}

class cookBook : public QMainWindow
{
    Q_OBJECT

public:
    explicit cookBook(QWidget *parent = 0);
    ~cookBook();

private slots:
    void on_pushButton_clicked();

    void on_textBrowser_anchorClicked(const QUrl &arg1);


private:
    Ui::cookBook *ui;
    //QWebPage page;
};

#endif // COOKBOOK_H

livre de recettes.rpc

#include "cookbook.h"
#include "ui_cookbook.h"
//#include <QWebView>
//#include <QtWebKit/QtWebKit>

cookBook::cookBook(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::cookBook)
{
    ui->setupUi(this);
}

cookBook::~cookBook()
{
    delete ui;
}


void cookBook::on_pushButton_clicked()
{
    ui->listWidgetTest->insertItem(ui->listWidgetTest->count(), "TEST");

    const QUrl testsite = "www.google.com";
    ui->widget->load(testsite);
    ui->widget->show();

}

.pro fichier

#-------------------------------------------------
#
# Project created by QtCreator 2013-01-23T14:46:45
#
#-------------------------------------------------

QT       += core gui
QT += webkit
QT += webkit webkitwidgets


greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = eCookBook2
TEMPLATE = app


SOURCES += main.cpp
        cookbook.cpp

HEADERS  += cookbook.h

FORMS    += cookbook.ui

sortie du compilateur:

15:04:58: Running steps for project eCookBook2...
15:04:58: Configuration unchanged, skipping qmake step.
15:04:58: Starting: "C:QtCommercialQtCommercial5.0.0ToolsQtCreatorbinjom.exe" 
    C:QtCommercialQtCommercial5.0.0ToolsQtCreatorbinjom.exe -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"..........QtCommercialQtCommercial5.0.0.0.0msvc2010include" -I"..........QtCommercialQtCommercial5.0.0.0.0msvc2010includeQtWidgets" -I"..........QtCommercialQtCommercial5.0.0.0.0msvc2010includeQtGui" -I"..........QtCommercialQtCommercial5.0.0.0.0msvc2010includeQtCore" -I"debug" -I"." -I"." -I"..........QtCommercialQtCommercial5.0.0.0.0msvc2010mkspecswin32-msvc2010" -Fodebug @C:UsersScottAppDataLocalTempcookbook.obj.5244.0.jom
cookbook.cpp
..eCookBook2cookbook.cpp(34) : warning C4100: 'arg1' : unreferenced formal parameter
    echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ "debugeCookBook2.exe.embed.manifest">debugeCookBook2.exe_manifest.rc
    if not exist debugeCookBook2.exe del debugeCookBook2.exe.embed.manifest>NUL 2>&1
    if exist debugeCookBook2.exe.embed.manifest copy /Y debugeCookBook2.exe.embed.manifest debugeCookBook2.exe_manifest.bak
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:debugeCookBook2.exe.embed.manifest /OUT:debugeCookBook2.exe @C:UsersScottAppDataLocalTempeCookBook2.exe.5244.2012.jom
cookbook.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QWebView::QWebView(class QWidget *)" (__imp_??0QWebView@@QAE@PAVQWidget@@@Z) referenced in function "public: void __thiscall Ui_cookBook::setupUi(class QMainWindow *)" (?setupUi@Ui_cookBook@@QAEXPAVQMainWindow@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall QWebView::metaObject(void)const " (?metaObject@QWebView@@UBEPBUQMetaObject@@XZ)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall QWebView::qt_metacast(char const *)" (?qt_metacast@QWebView@@UAEPAXPBD@Z)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall QWebView::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QWebView@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall QWebView::event(class QEvent *)" (?event@QWebView@@UAE_NPAVQEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual class QSize __thiscall QWebView::sizeHint(void)const " (?sizeHint@QWebView@@UBE?AVQSize@@XZ)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::mousePressEvent(class QMouseEvent *)" (?mousePressEvent@QWebView@@MAEXPAVQMouseEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::mouseReleaseEvent(class QMouseEvent *)" (?mouseReleaseEvent@QWebView@@MAEXPAVQMouseEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::mouseDoubleClickEvent(class QMouseEvent *)" (?mouseDoubleClickEvent@QWebView@@MAEXPAVQMouseEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::mouseMoveEvent(class QMouseEvent *)" (?mouseMoveEvent@QWebView@@MAEXPAVQMouseEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::wheelEvent(class QWheelEvent *)" (?wheelEvent@QWebView@@MAEXPAVQWheelEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::keyPressEvent(class QKeyEvent *)" (?keyPressEvent@QWebView@@MAEXPAVQKeyEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::keyReleaseEvent(class QKeyEvent *)" (?keyReleaseEvent@QWebView@@MAEXPAVQKeyEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::focusInEvent(class QFocusEvent *)" (?focusInEvent@QWebView@@MAEXPAVQFocusEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::focusOutEvent(class QFocusEvent *)" (?focusOutEvent@QWebView@@MAEXPAVQFocusEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::paintEvent(class QPaintEvent *)" (?paintEvent@QWebView@@MAEXPAVQPaintEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::resizeEvent(class QResizeEvent *)" (?resizeEvent@QWebView@@MAEXPAVQResizeEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::contextMenuEvent(class QContextMenuEvent *)" (?contextMenuEvent@QWebView@@MAEXPAVQContextMenuEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::dragEnterEvent(class QDragEnterEvent *)" (?dragEnterEvent@QWebView@@MAEXPAVQDragEnterEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::dragMoveEvent(class QDragMoveEvent *)" (?dragMoveEvent@QWebView@@MAEXPAVQDragMoveEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::dragLeaveEvent(class QDragLeaveEvent *)" (?dragLeaveEvent@QWebView@@MAEXPAVQDragLeaveEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::dropEvent(class QDropEvent *)" (?dropEvent@QWebView@@MAEXPAVQDropEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::changeEvent(class QEvent *)" (?changeEvent@QWebView@@MAEXPAVQEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall QWebView::inputMethodEvent(class QInputMethodEvent *)" (?inputMethodEvent@QWebView@@MAEXPAVQInputMethodEvent@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "public: virtual class QVariant __thiscall QWebView::inputMethodQuery(enum Qt::InputMethodQuery)const " (?inputMethodQuery@QWebView@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual bool __thiscall QWebView::focusNextPrevChild(bool)" (?focusNextPrevChild@QWebView@@MAE_N_N@Z)
cookbook.obj : error LNK2001: unresolved external symbol "protected: virtual class QWebView * __thiscall QWebView::createWindow(enum QWebPage::WebWindowType)" (?createWindow@QWebView@@MAEPAV1@W4WebWindowType@QWebPage@@@Z)
cookbook.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall QWebView::~QWebView(void)" (__imp_??1QWebView@@UAE@XZ) referenced in function "public: virtual void * __thiscall QWebView::`scalar deleting destructor'(unsigned int)" (??_GQWebView@@UAEPAXI@Z)
cookbook.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWebView::load(class QUrl const &)" (__imp_?load@QWebView@@QAEXABVQUrl@@@Z) referenced in function "private: void __thiscall cookBook::on_pushButton_clicked(void)" (?on_pushButton_clicked@cookBook@@AAEXXZ)
debugeCookBook2.exe : fatal error LNK1120: 29 unresolved externals
jom: C:UsersScottDesktopeCookBookeCookBook2-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-DebugMakefile.Debug [debugeCookBook2.exe] Error 1120
jom: C:UsersScottDesktopeCookBookeCookBook2-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-DebugMakefile [debug] Error 2
15:05:01: The process "C:QtCommercialQtCommercial5.0.0ToolsQtCreatorbinjom.exe" exited with code 2.
Error while building/deploying project eCookBook2 (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
When executing step 'Make'
17
demandé sur Bobdabear 2013-01-28 03:23:58

3 réponses

d'abord essayer "Run qmake" (à partir du menu "Build" dans Creator) pour régénérer les fichiers make et ensuite re-construire. Fondamentalement, vous avez besoin de "Exécuter qmake" après chaque modification dans le .pro fichier.

17
répondu Zlatomir 2017-02-09 19:39:51
  1. appuyez sur Ctrl+5 dans Creator.
  2. décocher "Shadow build".
  3. Modifier .pro le fichier ligne à:

    QT += core gui network webkit webkitwidgets
    
  4. Reconstruire le projet

6
répondu Fakhy 2015-02-09 16:47:30

le même bug corrigé. Essayez d'ajouter un chemin à qwebview.h à les inclure comme: (changement "QtWebKitWidgets" à la vôtre)

#include <QtWebKitWidgets/QWebView.h>

au lieu de #include <QWebView.h>

essayez de l'ajouter à tous les fichiers qui utilisent QWebView.

1
répondu Alex 2016-09-01 13:31:33