Ошибка проекта: неизвестные модули в QT: webkitwidgets
5 ответов
необходимо установить библиотеку webkitwidgets.
на Ubuntu попробуйте это в терминале:
sudo apt-get install libqt5webkit5-dev
Если вам нужно установить библиотеку webkit* Windows для Qt 5.7, вы должны скомпилировать ее вручную, потому что в новой версии webkit (WebView?) заменены WebEngine в.
читайте о выпуске Qt 5.7 (комментарии):http://blog.qt.io/blog/2016/06/16/qt-5-7-released/
последовательность сборки (статическая или общая):
1) Скачать Qt 5.7.0 источники:http://download.qt.io/community_releases/5.7/5.7.0/
2) Скачать необходимые инструменты: ActiveState Perl (binary), Python (binary), Ruby (binary), GnuWin Bison (binary), GPref (binary), Grep (binary), WinFlex, LibIconv, make (binary), sqlite (source!), ICU (source), windows msys (binary) (unix like shell с инструментами), mingw-w64 (bin+dev) для сборки Qt с QtWebKit, см. ссылку на:https://trac.webkit.org/wiki/BuildingQtOnWindows
3) После загрузки источника ICU в C:\icu\icu - ... Откройте оболочку консоли msys QT mingw, открыв окна запуска меню (msys должны быть загружены и установлены) и поиск или использовать быстрый поиск. В открывшейся консоли запустите configure script, а затем скомпилируйте и установите:
$ cd C:\icu\icu\source
$ ./ runConfigureICU
$ set PATH=%PATH%;C:\msys\1.0\bin\
$ make.exe
$ make.exe установки
4) построить Qt с(!) Поддержка ICU (установите "-icu" для настройки) см.сценарий компиляции ниже. Изменить путь для вашего окружения.
каталог структуру:
- C:\Qt\5.7.0 -скачать двоичную версию Qt 5.7.0 здесь
- C:\Qt\5.7.0n -каталог для новой (скомпилированной) версии 5.7.0 (просто сделайте dir)
- C:\Qt\Src -скачать источник Qt 5.7.0 здесь
C:\Qt\Src\qtbase\compile.летучая мышь!--10-->
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
выполнить команду в exmaple в Windows Power Shell:
$ cd C:\Qt\Src\qtbase
$ ./составлять.летучая мышь!--10-->
после прохождения компиляции используйте его для установки файлов в BUILD_DIR (install Qt files):
$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe установки
Qt должен начать установку
5) загрузите источники Qtwebkit в C:\Qt\Src\qtwebkit - ... Используйте скрипт компиляции ниже для компиляции qtwebkit с помощью новой сборки Qt 5.7.0 с файлами в C:\Qt\5.7.0n с ОТДЕЛЕНИЕ ИНТЕНСИВНОЙ ТЕРАПИИ.
C:\Qt\Src\qtwebkit\Tools\Scripts\compile.летучая мышь!--10-->
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
компилироваться qtwebkit:
$ cd C:\Qt\Src\qtwebkit\Tools\Scripts
$ ./составлять.летучая мышь!--10-->
$ cd C:\Qt\Src\qtwebkit\WebKitBuild\Release
$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe установки
должно быть возможно скомпилировать ваше приложение с помощью qtwebkit после успешной компиляции и установить.
ПОСТРОИТЬ QT ДЛЯ STATIC
изменить файл C:\Qt\Src\qtbase\compile - ... летучая мышь и пройти через строй.
...
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
...
ВОЗМОЖНЫЕ ОШИБКИ
1) при построении qtwebkit:"fatal error: unicode/uchar.h: No such file or directory"
проверьте, что ваш Qt 5.7.0 N строится с ICU. Он также может уведомить вас о" ICU required " при настройке в qtwebkit.
2) flex: unknown flag '-'. For usage, try
вы должны использовать правильную версию Flex, которая является "win_flex" в этом случае. Вы должны переименовать файлы для использования win_flex вместо просто flex (и bison).
1) переименовать C:\Program файлы (x86)\GnuWin32\bin\flex.exe в какое уникальное имя.
2) переименовать C:\Program файлы (x86)\GnuWin32\bin\bison.exe в какое уникальное имя.
3) переименовать C:\winflex\win_bison - ... ехе к зубру.исполняемый.
3) при построении qtwebkit: "fatal error: sqlite3.h: No such file or directory"
изменить файл C:\Qt\Src\qtwebkit\Tools\Scripts\compile - ... bat и проверьте правильность пути к SQLite в:
set SQLITE3SRCDIR=C:\(path to some SQLITE .h/source files)
4) skipping incompatible ... when searching for ...
вы должны загрузить правую библиотеку arch (32bit или 64bit)
5) View.cpp ... undefined reference to WKPageCanGoBack
смогл случается когда пропуск через некоторые испытание или MiniBrowser. Вы можете искать в файлах "UIProcess / API / qt" и "MiniBroswer" и удалять его из Makefile и некоторые другие файлы, а затем снова начать сборку.
ссылки
Сборка Qt5: https://wiki.qt.io/Building_Qt_5_from_Git Qt WebKit build
как:https://trac.webkit.org/wiki/BuildingQtOnWindows ICU
сборка с GNU:https://wiki.qt.io/Compiling-ICU-with-MinGW
Я заставил его работать, скопировав файлы WebKit и webkitwidgets из предыдущей установки, 5.5.
~/Qt/5.5/clang_64/mkspecs/modules/
для windows, я только что скачал https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5 и скопировал папки в соответствующую папку установки Qt. Теперь я могу использовать MinGW Qt5.8 с последним webkit. Спасибо Константину и всем участникам этого проекта!
следует отметить только одно - мне нужно было использовать конфигурацию выпуска в Qt.
сборки сообщества, на которые ссылается Alex, доступны только до Qt 5.9. Если вы хотите использовать более новый Qt5 (текущая версия 5.11), то другой вариант-портировать "QtWebKit" на "QtWebEngine".