星期四, 8月 24, 2006

Build ViewML

備份一下...

很多Embedded System都需要Browser,但是受限於system resource。沒有辦法使用標準的Browser。需要使用功能縮減後的Browser。

ViewML 應該是目前Open Source Project中footprint最小的Browser。

他使用KFM(KDE File Manager) 1.0 核心。原作者將KFM中對Qt的API 呼叫用FLTK重新實做。去除他對KDE(Qt)的依賴。另外將FLTK 對X-lib的部份修改使用Nano-X。去除對X Server的依賴。所以ViewML 特別適合小型系統。

ViewML的缺點在於:由KFM 1.0 修改。所以只有支援HTML3.01。不支援javascript。CSS和SSL。

ViewML 需要的library有:FLTK,LibWWW


問題:
因為g++ 的STL在3.3後經過大幅度的改版,所以和2.95 版所附的STL差異很大。原作者因為相容性問題。在2001年後就停止維護ViewML。

目的:
修改ViewML code,能在目前的Linux 系統中build。 完成後再在uclinux, uClibc , STLport , Nono-X , Flnx 上build。

風險
1. 目前Linux 上的STL不知道和STLport 差異是否很大。
2. ViewML 的功能會不會太過簡單。
3. 多國語系的支援


Start :

確認developement platform 的版本( 這裡使用Debian 3.1, stable )
到 ftp.viewml.com 下載ViewML 0.23.
到 fltk.org 下載 fltk 1.1.0


check 系統有沒有安裝libwww,如果沒有,安裝libwww:

# aptitude install libwww-dev


接著build fltk :

$ ./configure –-prefix=要安裝的位置
$ make
$ make install

可以run一下test folder下的program,看看是否成功

再build ViewML:

$ ./configure –-with-fltk=剛剛buildfltk的安裝位置
$ make 2>&1 | tee makeoutput

應該會有很多error了..會log在makeoutput中


已知紀錄:

先是config.h 找不到==>作一個假的 :

$ touch src/kdecore/config.h

接著是qstringl.h 的compile error : 這是因為namespace的問題 ==>在qstring.h中加入
using namespace std;
接著是 "沒有transform( )" function。這大概是因為algo.h 太舊,改為

#include <algorithm>

找不到par.h,google了一下。有人也問過這個問題。先刪除這個include 指述。

cmath : acosf, asinf not declared.-->google一下,發現是compiler 以為要使用C99 的header。


沒有留言:

張貼留言