使用Qt5.9.5和VS2017单独编译Qtwebkit

2018-04-20  本文已影响0人  kingbhy

经过几天的摸索终于确定了研究Qtwebkit的正确姿势,之前编译的版本都是基于Qt5.5.1(里面包含Qtwebkit),由于Qt5.5.1发布的时间已经比较久了,对VS最高版本的支持为VS2013,现在VS2017都已经发布了,而我本机安装是VS2017(为了编译Qt5.5.1安装了VS2015),通过这几天的折腾终于理清了思路(这里说句题外话,研究过程中任何折腾都是值得的),之前静态编译的研究其实对我不是必须的,我需要的是能够有一个可以修改最新webkit源码并持续研究的过程(最新的webkit对h5的支持也多一些),当然如果能够静态编译的话可以简化之后生产环境的部署。


下载最新的Qtwebkit

github上有人维护了一个最新的版本,而且持续在持续更新,具体地址如下:

https://github.com/annulen/webkit/

Qtwebkit在Qt5.5.1之后就没有维护了,之后又重启了Qtwebkit的维护,具体原因可以参考github上的wiki,这个是之前没有想到的(我之前一直纠结在研究原生的webkit还是Qtwebkit之间,先选择了原生webkit又改成Qtwebkit,各种原因,各种纠结)。

编译Qtwebkit注意事项

这个在github的wiki上已经有了,我这里再啰嗦下,再加一些在编译过程中遇到的问题,毕竟不是每个人都能看懂英文,原wiki如下:

https://github.com/annulen/webkit/wiki/Building-QtWebKit-on-Windows

需要注意的地方:

#(system("perl Tools/Scripts/update-qtwebkit-win-libs") == 0) or die
tools\testwebkitapi\tests\wtf\wtfstring.cpp
编译脚本
ECHO ON

SET _CD=%CD%
SET _PATH=%PATH%
SET PATH=G:\qt\qt-everywhere-opensource-src-5.9.5\gnuwin32\bin;C:\Strawberry\perl\bin\;^
    C:\Ruby25-x64\bin;C:\python27\;^C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Program Files\CMake\bin;^
    %PATH%

REM Set up \Microsoft Visual Studio 2015
REM CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat"

SET BUILD_MODE=debug
SET ICU_PCM_DIR=%_CD%\icu-59.1-vs2017
SET QT_PREFIX=C:\Qt\5.9.5\msvc2015
SET QTWEBKIT_SOURCE=%_CD%\webkit\webkit-src
SET QTWEBKIT_PREFIX=%_CD%\webkit\build\%BUILD_MODE%

REM SET PATH=%PATH%;%_CD%\ninja-1.8.2
REM SET INCLUDE=%INCLUDE%;%ICU_PCM_DIR%\include;
REM SET LIB=%LIB%;%ICU_PCM_DIR%\lib;
REM SET SQLITE_INCLUDE_DIR=G:\qt\webkit\webkit-src\WebKitLibraries\win\include
REM SET SQLITE_LIBRARIES=G:\qt\webkit\webkit-src\WebKitLibraries\win\lib32

CD /D %_CD%\webkit
REM SET WEBKIT_OUTPUTDIR=%QTWEBKIT_PREFIX%
perl webkit-src\Tools\Scripts\build-webkit --qt --%BUILD_MODE% --prefix=%QTWEBKIT_PREFIX%^
    --cmakeargs="-T host=x64 -Wno-dev -DCMAKE_INSTALL_PREFIX=%QTWEBKIT_PREFIX% -DCMAKE_PREFIX_PATH=%QT_PREFIX% -DENABLE_WEBKIT2=OFF"

CD /D %_CD%\webkit\webkit-src\WebKitBuild\%BUILD_MODE%
cmake -DBUILD_TYPE=%BUILD_MODE% -P cmake_install.cmake

CD /D %_CD%
SET PATH=%_PATH%

请将上面的路径改成自己的安装路径,但是还有以下几点需要注意:

Qt安装勾选MSVC

后记:原以为使用最新的版本Qt和Qtwebkit可以简化编译过程,但是过程并没有想象的那样简单,主要是编译比较耗时,修改脚本后又要删除CMakeCache,然后重新编译。

上一篇 下一篇

猜你喜欢

热点阅读