官方文档:
在 ubuntu-12.04 上编译 Webkit ,所用的版本 r117946,这个版本是比较老的版本,因为我开始尝试新的版本的时候无法编译成功。后来同学建议我用比较老的版本,于是便使用这个版本。
基于 Qt :
安 装 sudo apt-get install libxslt-dev gperf bison libsqlite3-dev flex libqt4-dev build-essential subversion libenchant-dev libXt-dev ;如果有其他库没有安装,根据提示,用 apt-get install 安装,如果不知道包的名称,可以用 apt-get search NAME 搜索。
设置Qt编译环境变量 export QTDIR=/usr/share/qt4/
进到 WebKit 目录下,开始编译: ( 以下默认为此目录 )
QTDIR=/usr/share/qt4/ ./WebKitTools/Scripts/build-webkit --qt --debug (调试的话要加--debug,如果不调试可以不加--debug) 如果你只使用 WebKit 而不管内部结构,可以不用 --debug 选项; 如果是第一次编译,而且你用的机器性能又一般,那么时间会长一点;中间可能出现错误,比如文件找不到,那么你要看看是哪个包的文件,要将这个包安装一下,诸如此类。
我个人运行过程中除了一个问题,由于我是在虚拟机中运行的,出现:Qt编译webkit 的时候出现问题:
collect2: ld terminated with signal 9 [Killed]
make[3]: *** [../lib/libQtWebKit.so.4.8.1] Error 1
make[3]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug/Source'
make[2]: *** [sub-api-pri-make_default-ordered] Error 2
make[2]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug/Source'
make[1]: *** [sub-Source-QtWebKit-pro-make_default-ordered] Error 2
make[1]: Leaving directory `/home/bruce/src/WebKit-r117946/WebKitBuild/Debug'
make: *** [incremental] Error 2
是因为使用的VM 内存耗尽。扩充内存后重新运行,编译成功。
(此问题原因参见:)
编译成功之后,会有提示信息 ================================================== WebKit is now built (1h:04m:28s). To run QtLauncher with this newly-built code, use the "WebKit/WebKitTools/Scripts/run-launcher" script. ================================================== 然后可用脚本 run-launcher 运行。注意,运行的时候,如果前面不是--debug情况下编译的,那直接运行run-launche --qt 就可以了,如果编译的时候有加--debug,则需要运行 run-launcher --qt --debug 否则会出如下问题: Can't find built framework at "/home/bruce/src/WebKit-r117946/WebKitBuild/Release/lib/libQtWebKit.so".