很多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。
沒有留言:
張貼留言