项目错误:QT:webkitwidgets中的未知模块

我将代码从qt4移植到qt5。 按照build议将以下行添加到我的.pro文件中:

 QT += webkitwidgets 

但是,当我运行qmake ,我得到这个错误:

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

我正在开发Ubuntu 12.04 LTS,并按照说明安装了Qt。

您需要安装webkitwidgets库。

在Ubuntu上,在terminal上试试这个:

 sudo apt-get install libqt5webkit5-dev 

如果你需要安装Qt5.7的webkit * Windows库,你应该手动编译它,因为在新版本的webkit(WebView?)中被WebEngine取代。

阅读关于Qt 5.7发布(评论): http : //blog.qt.io/blog/2016/06/16/qt-5-7-released/

构build序列(静态或共享):

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 !),ICU(源代码),windows msys(二进制)(unix像shell一样的工具),mingw-w64(bin + dev)用QtWebKit构buildQt,查看链接: https : //trac.webkit.org/维基/ BuildingQtOnWindows

3)将ICU源码下载到C:\ icu \ icu。 打开msys QT mingw console shell通过打开启动windows菜单(应该下载并安装msys)并search或者使用快速search。 在打开的控制台启动configuration脚本,然后编译和安装:

$ cd C:\ icu \ icu \ source

$ ./runConfigureICU

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

$ make.exe

$ make.exe安装

4)用(!)ICU支持构buildQt(设置“-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 \的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 -IC:/icu/icu/dist/include -LC:/icu/icu/dist/lib jom.exe -j 4 pause 

在Windows Power Shell中例如运行命令:

$ cd C:\ Qt \ Src \ qtbase

$ ./compile.bat

通过编译后,使用它来在BUILD_DIR(安装Qt文件)中安装文件:

$ 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的\工具\脚本\的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安装

应该可以在成功编译和安装后用qtwebkit编译你的应用程序。

构build静态的QT

编辑文件C:\ Qt \ Src \ qtbase \ compile.bat并通过构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 ... 

可能的错误

1)而build立qtwebkit: "fatal error: unicode/uchar.h: No such file or directory"

检查你的Qt 5.7.0n与ICU一起构build。 IT也可以在qtwebkit的configuration中通知你“需要ICU”。

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

在这种情况下,您应该使用正确版本的“win_flex”Flex。 你应该重命名文件来使用win_flex而不是flex(和bison)。

1)将C:\ Program Files(x86)\ GnuWin32 \ bin \ flex.exe重命名为某个未使用的名称。

2)将C:\ Program Files(x86)\ GnuWin32 \ bin \ bison.exe重命名为某个未使用的名称。

3)将C:\ winflex \ win_bison.exe重命名为bison.exe。

3)而build立qtwebkit: "fatal error: sqlite3.h: No such file or directory"

编辑文件C:\ Qt \ Src \ qtwebkit \ Tools \ Scripts \ compile.bat并检查sqlite的正确path:

 set SQLITE3SRCDIR=C:\(path to some SQLITE .h/source files) 

4) skipping incompatible ... when searching for ...

您应该下载正确的库拱(32位或64位)

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

当通过一些testing或MiniBrowser时可能会发生。 您可以在文件中search“UIProcess / API / qt”和“MiniBroswer”并将其从Makefile和其他文件中删除,然后再次开始构build。

链接

构buildQt5: https ://wiki.qt.io/Building_Qt_5_from_Git Qt WebKit构build

比如如何: https : //trac.webkit.org/wiki/BuildingQtOnWindows ICU

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

我通过复制以前的安装5.5的webkit和webkitwidgets pri文件来实现它。

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

对于Windows,我只是下载了https://github.com/annulen/webkit/releases/tag/qtwebkit-tp5并将这些文件夹复制到相关的Qt安装文件夹中。; 现在我可以使用MinGW Qt5.8和最新的webkit。 感谢康斯坦丁和这个项目的所有贡献者!

只有一点需要注意 – 我需要在Qt中使用发布configuration。