最近正在开发类似浏览器的Render,原来选择了FLTK,后来实现的效果不是很好,而且界面也比较简单,所以准备研究一下开源浏览器用的Render,实际使用发现Google Chrome的Render比Firefox快,所以最后选择了Chrome所基于的WebKit(Render只是其中的一个部分),版权是LGPL,非常好。
下面是在Ubuntu 9.10上你用QT编译WebKit的过程(参考了官方的http://trac.webkit.org/wiki/BuildingQtOnLinux 和Jonathan Christopher的http://mondaybynoon.com/2007/04/23/installing-and-running- webkit-in-linux-using-qt/)。比较顺利,就是花费的时间有点长。
1. 确认以下包已经安装:
sudo aptitude install libqt4-dev gperf bison flex libicu36-dev libphonon-dev libsqlite3-dev
2. 从WebKit网站获得最新的WebKit源代码发布,使用svn,所以没有svn的还要sudo apt-get subversion。我把得到的要你代码放在我自己的工作目录的,就是/home/rafael/workspace/cpp/下,这个过程需要很长时间:
cd /home/rafael/workspace/cpp
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
3. 设置相关的环境,然后开始编译WebKit,下面把这两个功能写成一条命令执行,需要相当长的时间,可以出去打个篮球然后回来洗个澡:
QTDIR=/usr/share/qt4/ WebKit/WebKitTools/Scripts/build-webkit –qt
编译成功之后,有如下信息:
===========================================================
WebKit is now built (1h:37m:09s).
To run QtLauncher with this newly-built code, use the
“WebKit/WebKitTools/Scripts/run-launcher” script.
===========================================================
4. 然后进行测试:
WebKit/WebKitTools/Scripts/run-launcher –qt
这样就显示一个界面简单的浏览器,输入http://www.google.com,就可以看到google的搜索页面了。
接下来就可以研究源代码,并且剥离Render部分。