Ich portiere Code von qt4 nach qt5. Ich habe meiner .pro
Datei wie vorgeschlagen die folgende Zeile hinzugefügt :
QT += webkitwidgets
Beim Ausführen qmake
wird jedoch der folgende Fehler angezeigt:
Project ERROR: Unknown module(s) in QT: webkitwidgets
Ich entwickle auf Ubuntu 12.04 LTS und installiere Qt wie beschrieben .
Wenn Sie das Webkit * Windows-Bibliothek für Qt 5.7 installieren müssen, sollten Sie es manuell kompilieren, da in einer neuen Version das Webkit (WebView?) Durch WebEngine ersetzt wurde.
Lesen Sie mehr über Qt 5.7 Release (Kommentare): http://blog.qt.io/blog/2016/06/16/qt-5-7-released/
Erstellungssequenz (statisch ODER gemeinsam genutzt):
1) Laden Sie Qt 5.7.0-Quellen herunter: http://download.qt.io/community_releases/5.7/5.7.0/
2) Laden Sie die erforderlichen Tools herunter: ActiveState Perl (binär), Python (binär), Ruby (binär), GnuWin Bison (binär), GPref (binär), Grep (binär), WinFlex, LibIconv, make (binär), sqlite (Quelle) !), ICU (Quelle), Windows Msys (Binär) (Unix wie Shell mit den Tools), Mingw-W64 (Bin + Dev) für Build Qt mit QtWebKit, siehe Link auf: https://trac.webkit.org/ wiki / BuildingQtOnWindows
3) Nach dem Herunterladen der ICU-Quelle in C: \ icu \ icu. Öffnen Sie die msys QT mingw-Konsolen-Shell, indem Sie das Startfenster-Menü öffnen (msys sollte heruntergeladen und installiert werden) und suchen oder verwenden Sie die Schnellsuche. Starten Sie in der geöffneten Konsole das Konfigurationsskript und kompilieren und installieren Sie Folgendes:
4) Erstellen Sie Qt mit (!) ICU-Unterstützung (setzen Sie "-icu" zum Konfigurieren), siehe Kompilierungsskript unten. Ändern Sie PATH in Ihre Umgebung.
Verzeichnisaufbau:
C: \ Qt \ Src \ qtbase \ compile.bat
set INCLUDE=C:\icu\icu\dist\include set LIB=C:\icu\icu\dist\lib set QTDIR=C:\Qt\5.7.0n set PATH=%PATH%;C:\Qt\Qt5.7.0\5.7\mingw53_32\bin;C:\Qt\Qt5.7.0\Tools\QtCreator\bin;C:\Qt\Qt5.7.0\Tools\mingw530_32\bin;C:\Qt\Src\qtbase\bin;C:\Program Files (X86)\GnuWin32\bin;C:\winflex;C:\Ruby23-x64\bin;C:\Python27;C:\mingw-w64\i686-1\mingw32\bin;C:\icu\bin set QMAKESPEC=win32-g++ set BUILD_DIR=C:\Qt\Qt5.7.0n call C:\Qt\Src\qtbase\configure.bat -prefix %BUILD_DIR% -platform %QMAKESPEC% -confirm-license -debug-and-release -opensource -opengl desktop -no-compile-examples -icu -I C:/icu/icu/dist/include -L C:/icu/icu/dist/lib jom.exe -j 4 pause
Führen Sie den Befehl in exmaple in der Windows Power Shell aus:
Verwenden Sie es nach dem Durchlaufen der Kompilierung, um Dateien im BUILD_DIR zu installieren (Qt-Dateien installieren):
Qt sollte mit der Installation beginnen
5) Laden Sie Qtwebkit-Quellen in C: \ Qt \ Src \ qtwebkit herunter. Verwenden Sie das folgende Kompilierungsskript, um das qtwebkit mit dem neuen Build Qt 5.7.0 mit Dateien in C: \ Qt \ 5.7.0n auf der Intensivstation zu kompilieren.
C: \ Qt \ Src \ qtwebkit \ Tools \ Scripts \ compile.bat
set INCLUDE=C:\sqlite set LIBS=C:\sqlite set SQLITE3SRCDIR=C:\sqlite set QTDIR=C:\Qt\Qt5.7.0n set PATH=%PATH%;C:\Qt\Qt5.7.0n\bin;C:\Qt\Src\qtbase\bin;C:\winflex;C:\Ruby23-x64\bin;C:\Python27;C:\mingw-w64\i686-1\mingw32\bin;C:\icu\bin;C:\Program Files (x86)\GnuWin32\bin set QMAKESPEC=win32-g++ call perl.exe .\build-webkit --qt --release
Kompilieren Sie das qtwebkit:
Nach erfolgreicher Kompilierung und Installation sollte es möglich sein, Ihre Anwendung mit dem qtwebkit zu kompilieren.
BAUEN SIE QT FÜR STATISCH
Bearbeiten Sie die Datei C: \ Qt \ Src \ qtbase \ compile.bat und übergeben Sie den Build.
... call C:\Qt\Src\qtbase\configure.bat -prefix %BUILD_DIR% -platform %QMAKESPEC% -confirm-license -debug-and-release -opensource -opengl desktop -static -no-compile-examples -icu echo "QMAKE_FLAGS += -static -static-libgcc" >> .mkspecs/%QMAKESPEC%/qmake.conf ...
MÖGLICHE FEHLER
1) Während des Builds von qtwebkit:
"fatal error: unicode/uchar.h: No such file or directory"
Überprüfen Sie, ob Ihr Qt 5.7.0n mit der Intensivstation erstellt wurde. Die IT kann Sie auch bei der Konfiguration in qtwebkit über "ICU erforderlich" informieren.
2)
flex: unknown flag '-'. For usage, try
Sie sollten in diesem Fall die richtige Version von Flex verwenden, die "win_flex" ist. Sie sollten Dateien umbenennen, um win_flex anstelle von flex (und bison) zu verwenden.
3) Während des Builds von qtwebkit:
"fatal error: sqlite3.h: No such file or directory"
Bearbeiten Sie die Datei C: \ Qt \ Src \ qtwebkit \ Tools \ Scripts \ compile.bat und überprüfen Sie den korrekten Pfad zu SQLite:
set SQLITE3SRCDIR=C:\(path to some SQLITE .h/source files)
4)
skipping incompatible ... when searching for ...
Sie sollten den richtigen Bibliotheksbogen herunterladen (32bit oder 64bit).
5)
View.cpp ... undefined reference to WKPageCanGoBack
Kann passieren, wenn ein Test oder ein MiniBrowser durchlaufen wird. Sie können in Dateien nach "UIProcess / API / qt" und "MiniBroswer" suchen und diese aus Makefiles und einigen anderen Dateien entfernen und dann erneut mit dem Erstellen beginnen.
LINKS
quelle
Die von Alex referenzierten Community-Builds sind nur bis Qt 5.9 verfügbar. Wenn Sie neueres Qt5 verwenden möchten (aktuelle Version ist 5.11), können Sie "QtWebKit" auch auf "QtWebEngine" portieren.
Siehe: https://wiki.qt.io/QtWebEngine/Porting_from_QtWebKit
quelle
Ich habe es zum Laufen gebracht, indem ich die Webkit- und Webkitwidgets-Pri-Dateien aus einer früheren Installation, 5.5, kopiert habe.
~/Qt/5.5/clang_64/mkspecs/modules/
quelle
Für Windows habe ich gerade https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5 heruntergeladen und die Ordner in den entsprechenden Qt-Installationsordner kopiert. Jetzt kann ich MinGW Qt5.8 mit dem neuesten Webkit verwenden. Vielen Dank an Konstantin und alle Mitwirkenden für dieses Projekt!
Nur eines ist zu beachten - ich musste die Release-Konfiguration in Qt verwenden.
quelle
Was für mich funktioniert, ist die Kombination von zwei Antworten. Ich habe verwendet, was @ user1251007 + diesen Befehl vorgeschlagen hat
Diese Befehlszeile finden Sie hier: Link zur Stackoverflow-Antwort
quelle