最近正在开发类似浏览器的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部分。

Logo

更多推荐