QtWebkit-2.3 编译方法

编译 Qt4.8.7

下载代码

git clone git@gitorious.org:webkit/qtwebkit-23.git

安装编译工具

  • cygwin
    • 用到 pkg-config 等工具
  • perl
  • python
  • ruby
  • gnuwin32 路径添加到 PATH
    • Qt 自带 D:\Qt\Qt5.4.1\5.4\Src\gnuwin32\bin

设置环境变量

QTDIR = D:\Qt\4.8.7-shared-vs2010-ssl
SQLITE3SRCDIR = D:\Qt\4.8.7-shared-vs2010-ssl\src\3rdparty\sqlite

修改代码

  • Source/JavasScriptCore/jsc.cpp:528
//TRY
    res = jscmain(argc, argv);
//EXCEPT(res = 3)
//if (Options::logHeapStatisticsAtExit())
//    HeapStatistics::reportSuccess();

启动 VS2010 命令行

  • release debug 可以同时编译
e:
cd E:\code\qt\QtWebkit2.3\QtWebkit-2.3-head_4.8.7_build
perl Tools/Scripts/build-webkit --qt --no-webkit2
perl Tools/Scripts/build-webkit --qt --no-webkit2 --debug

替换 Qt4.8.7 中 QtWebkit

  • 复制编译结果
    • 编译结果在 WebKitBuild 下 Debug 和 Release 目录中
    • 将 dll 文件复制到 Qt/bin 目录下
    • 将 lib, pdb 文件复制到 Qt/lib 目录下
    • 将 imports/QtWebKit 目录复制到 Qt/imports/QtWebKit 目录下
  • 复制头文件
    • 将 Qt/include/QtWebKit 重命名为 QtWebkit2.2
    • 复制 include/QtWebKit 目录到 Qt/include/QtWebKit
    • 对于 include 文件中是间接 include 其它 include 文件的,用被 include 的文件替换
    • 替换 private 目录中的头文件