2013-09-09 2 views
63

Я портирую код с qt4 на qt5. Я добавил следующую строку в моей .pro файл as suggested:Project ERROR: Неизвестный модуль (ы) в QT: webkitwidgets

QT += webkitwidgets 

Однако, когда я бегу qmake, я получаю эту ошибку:

Project ERROR: Unknown module(s) in QT: webkitwidgets 

Я разрабатываю на Ubuntu 12.04 LTS и установили Qt as described ,

ответ

99

Вам необходимо установить библиотеку webkitwidgets.

В Ubuntu, попробуйте в терминале:

sudo apt-get install libqt5webkit5-dev 
+7

Есть ли решение для OS X? –

+3

Эй, я пробовал это, но он по-прежнему бросает ту же ошибку. Есть ли решение? – Wboy

+5

Что относительно Windows? – jjxtra

8

Если вам необходимо установить WebKit * библиотека для Windows для Qt 5.7 вы должны скомпилировать его вручную, так как в новой версии WebKit заменен WebEngine (WebView?) ,

Читайте о 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 (двоичный), Python (двоичный), Ruby (двоичный), GnuWin Bison (двоичный), GPref (двоичный), Grep (двоичный), WinFlex, LibIconv, make (двоичный), sqlite (source!), ICU (источник), windows msys (двоичный) (unix вроде shell с инструментами), mingw-w64 (bin + dev) для сборки Qt с QtWebKit, см. ссылку на: https://trac.webkit.org/wiki/BuildingQtOnWindows

3) После загрузки источника ICU в C: \ icu \ icu. Откройте консольную консоль MSys QT через открытое меню «Пуск» (msys необходимо загрузить и установить) и выполнить поиск или использовать быстрый поиск. В открывшемся запуске консоли сценария конфигурации, а затем скомпилировать и установить:

$ cd C:\icu\icu\source

$ ./runConfigureICU

$ set PATH=%PATH%;C:\msys\1.0\bin\

$ make.exe

$ make.exe install

4) Сборка Qt с поддержкой ICU() (набор «-icu» для настройки) см компилировать скрипт ниже!. Измените PATH на свою среду.

структура

Каталог:

  • C: \ Qt \ 5.7.0 - скачать бинарную версию Qt 5.7.0 здесь
  • C: \ Qt \ 5.7.0n - каталог для нового (составитель) версии из 5.7.0 (просто сделать реж)
  • C: \ Qt \ Src - скачать источник Qt 5.7.0 здесь

C: \ Qt \ Src \ qtbase \ компилировать.летучая команда

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 

Запуск в exmaple в ОС Windows Power Shell:

$ cd C:\Qt\Src\qtbase

$ ./compile.bat

После пройти через компиляцией использовать его для установки файлов в build_dir (установить Qt файлы):

$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe install

Qt должен начать устанавливать

5) Загрузить источники Qtwebkit в C: \ Qt \ Src \ qtwebkit. Используйте скрипт компиляции ниже для компиляции qtwebkit с использованием новой сборки Qt 5.7.0 с файлами в C: \ Qt \ 5.7.0n с ICU.

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 

Скомпилируем QtWebKit:

$ cd C:\Qt\Src\qtwebkit\Tools\Scripts

$ ./compile.bat

$ cd C:\Qt\Src\qtwebkit\WebKitBuild\Release

$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe install

Должна быть предусмотрена возможность компилировать приложения с QtWebKit после успешно скомпилировать и установить.

BUILD QT ДЛЯ STATIC

Отредактируйте файл C: \ Qt \ Src \ qtbase \ compile.bat и пройти через строй.

... 
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.0n строить с СИС. IT также может уведомить вас о необходимости «ICU» при настройке в qtwebkit.

2) flex: unknown flag '-'. For usage, try

Вы должны использовать правильную версию Flex, которая "win_flex" в данном случае. Вы должны переименовать файлы, чтобы использовать win_flex вместо просто flex (и bison).

1) rename C:\Program Files (x86)\GnuWin32\bin\flex.exe to some unused name.

2) rename C:\Program Files (x86)\GnuWin32\bin\bison.exe to some unused name.

3) rename C:\winflex\win_bison.exe to bison.exe.

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

Вы должны загрузить правильную библиотеку арку (32bit или 64bit)

5) View.cpp ... undefined reference to WKPageCanGoBack

Может произойти, если пройти через какой-либо тест или MiniBrowser. Вы можете искать в файлах для «UIProcess/API/qt» и «MiniBroswer» и удалять их из файлов Makefile и некоторых других файлов, а затем снова запускать сборку.

ССЫЛКИ

Build Qt5: https://wiki.qt.io/Building_Qt_5_from_Git Qt WebKit build

like how to: https://trac.webkit.org/wiki/BuildingQtOnWindows ICU

build with GNU: https://wiki.qt.io/Compiling-ICU-with-MinGW

+0

Можете ли вы привести пример того, как это сделать? Я довольно запутался в добавлении библиотек к моей существующей установке Qt. –

+0

честно, я все еще пытаюсь построить qtwebkit в Qt 5.7.0. Пожалуйста, прочитайте следующее, чтобы помочь: http://trac.webkit.org/wiki/BuildingQtOnWindows – Alex

+1

Сообщение для решения обновлено. Кажется, что сборка выполнена успешно. – Alex

1

Я получил его на работу путем копирования WebKit и webkitwidgets Pri файлы из предыдущей установки, 5.5.

~/Qt/5.5/clang_64/mkspecs/modules/

1

Для окон, я просто скачал https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5 и скопировать папки в соответствующую папку Qt установки. Теперь я могу использовать MinGW Qt5.8 с последним webkit. Спасибо Константину и всем участникам этого проекта!

Только одно примечание - мне нужно было использовать конфигурацию выпуска в Qt.