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 .

66
demandé sur Community 2013-09-09 17:31:57

5 réponses

vous devez installer la bibliothèque webkitwidgets.

sur Ubuntu, essayez ceci dans un terminal:

sudo apt-get install libqt5webkit5-dev
104
répondu user1251007 2013-09-09 13:31:57

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

8
répondu Alex 2016-09-01 10:33:01

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/

1
répondu JDavis 2016-10-18 19:52:15

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.

1
répondu app developer 27 2017-02-07 16:43:48

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".

voir: https://wiki.qt.io/QtWebEngine/Porting_from_QtWebKit

1
répondu Nightingale7 2018-06-13 17:17:11