项目错误: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。