最近正在開發類似浏覽器的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部分。