Erreur de projet: module(s) Inconnu (s) dans QT: webkitwidgets
je transfère le code de qt4 à qt5. J'ai ajouté la ligne suivante à mon fichier .pro
, comme suggéré :
QT += webkitwidgets
cependant, quand j'exécute qmake
, je reçois cette erreur:
Project ERROR: Unknown module(s) in QT: webkitwidgets
je développe sur Ubuntu 12.04 LTS et installé Qt comme décrit .
5 réponses
vous devez installer la bibliothèque webkitwidgets.
sur Ubuntu, essayez ceci dans un terminal:
sudo apt-get install libqt5webkit5-dev
si vous devez installer la bibliothèque webkit* Windows pour Qt 5.7, vous devez la compiler manuellement car dans la nouvelle version webkit (WebView?) remplacé par WebEngine.
lire à propos de Qt 5.7 release (Commentaires): http://blog.qt.io/blog/2016/06/16/qt-5-7-released/
Construire la séquence (statique OU partagé):
1) Télécharger Qt 5.7.0 sources: http://download.qt.io/community_releases/5.7/5.7.0/
2) Télécharger les outils nécessaires: ActiveState Perl( binaire), Python (binaire), Ruby (binaire), GnuWin Bison (binaire), GPref (binaire), Grep (binaire), WinFlex, LibIconv, make (binaire), sqlite (source!), ICU (source), Windows msys (binaire) (Unix comme shell avec les outils), mingw-w64 (bin+dev) pour construire Qt avec QtWebKit, voir lien sur: https://trac.webkit.org/wiki/BuildingQtOnWindows
3) après téléchargement ICU source dans C:\icu\icu. Ouvrez msys QT mingw console shell par ouvrir le menu Démarrer windows (msys doit être téléchargé et installé) et rechercher ou utiliser la recherche rapide. Dans la console ouverte démarrez configurer le script, puis compilez et installez:
$ cd C:\icu\icu\source
$ ./ runConfigureICU
$ set PATH=%PATH%;C:\msys\1.0\bin\
$ faire.exe
$ faire.exe installer
4) Construire Qt avec(!) Support ICU (définir" - icu " pour configurer) voir script de compilation ci-dessous. Changez le chemin vers votre environnement.
structure du répertoire:
- C:\Qt\5.7.0 -télécharger la version binaire de Qt 5.7.0 ici
- C:\Qt\5.7.0n - répertoire pour les nouveaux (compilé) version 5.7.0 (dir),
- C:\Qt\Src -télécharger la source de Qt 5.7.0 ici
C:\Qt\Src\qtbase\compile.MTD
set INCLUDE=C:\icu\icu\dist\include
set LIB=C:\icu\icu\dist\lib
set QTDIR=C:\Qt.7.0n
set PATH=%PATH%;C:\Qt\Qt5.7.0.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
Exécution de la commande en exemple dans Windows Power Shell:
$ cd C:\Qt\Src\qtbase
$ ./compiler.MTD
après la compilation, utilisez-le pour installer des fichiers dans le répertoire BUILD_DIR (install Qt files):
$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe installer
Qt devrait commencer à installer
5) Télécharger les sources Qtwebkit à C:\Qt\Src\qtwebkit. Utilisez le script de compilation ci - dessous pour compiler le qtwebkit en utilisant la nouvelle construction Qt 5.7.0 avec des fichiers dans C:\Qt\5.7.0n avec les soins intensifs.
C:\Qt\Src\qtwebkit\Tools\Scripts\compile.MTD
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
compiler le qtwebkit:
$ cd C:\Qt\Src\qtwebkit\Tools\Scripts
$ ./compiler.MTD
$ cd C:\Qt\Src\qtwebkit\WebKitBuild\Release
$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe installer
il devrait être possible de compiler votre application avec le qtwebkit après avoir compilé et installé avec succès.
BUILD QT FOR STATIC
Modifier le fichier C:\Qt\Src\qtbase\compile.bat et passe par 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
...
ERREURS POSSIBLES
1) alors que construire qtwebkit: "fatal error: unicode/uchar.h: No such file or directory"
vérifiez que votre QT 5.7.0 n build avec ICU. Il pourrait également vous informer de "ICU required" à configurer dans qtwebkit.
2) flex: unknown flag '-'. For usage, try
vous devez utiliser la version correcte de Flex qui est" win_flex " dans ce cas. Vous devriez renommer fichiers pour utiliser win_flex au lieu de simplement flex (et bison).
1) renommer C:\Program fichiers (x86)\GnuWin32\bin\flex.exe pour certains nom inutilisé.
2) Renommer C:\Program fichiers (x86)\GnuWin32\bin\bison.exe pour certains nom inutilisé.
3) Renommer C:\winflex\win_bison.exe à bison.EXE.
3) alors que construire qtwebkit: "fatal error: sqlite3.h: No such file or directory"
modifier le fichier C:\Qt\Src\qtwebkit\Tools\Scripts\compile.chauve-souris et de vérifier chemin d'accès correct à sqlite:
set SQLITE3SRCDIR=C:\(path to some SQLITE .h/source files)
4) skipping incompatible ... when searching for ...
vous devez télécharger right library arch (32bit ou 64bit)
5) View.cpp ... undefined reference to WKPageCanGoBack
peut se produire quand passer par un test ou MiniBrowser. Vous pouvez rechercher dans les fichiers pour les "UIProcess / API / qt" et "MiniBroswer" et de le supprimer de Makefile et d'autres fichiers puis commencer à construire encore.
LINKS
Build Qt5: https://wiki.qt.io/Building_Qt_5_from_Git QT WebKit build
comme: https://trac.webkit.org/wiki/BuildingQtOnWindows ICU
construire avec GNU: https://wiki.qt.io/Compiling-ICU-with-MinGW
j'ai réussi à le faire fonctionner en copiant les fichiers pri de webkit et webkitwidgets d'une installation précédente, 5.5.
~/Qt/5.5/clang_64/mkspecs/modules/
Pour windows, je viens de télécharger https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5 et copié les dossiers dans le dossier d'installation Qt pertinent. Maintenant je peux utiliser MinGW Qt5.8 avec la dernière webkit. Grâce à Constantin et à tous les contributeurs pour ce projet!
une seule chose à noter - je devais utiliser la configuration de libération dans Qt.
les constructions communautaires citées par Alex ne sont disponibles que jusqu'à Qt 5.9. Si vous voulez utiliser un Qt5 plus récent (la version actuelle est 5.11), alors une autre option est de porter "QtWebKit" à "QtWebEngine".