打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
剑天主页: Konqueror/Embeded 的移植

Konqueror/Embeded 的移植

Konqueror/Embeded 的移植
konqueror 是一个全功能的万维网浏览器(使用 KDE 中通用的部件技术 )
konqueror/embedded是专为嵌入式而设计的,自带有kde库源代码.
支持:
  • HTML4
  • CSS
  • JavaScript
  • Cookies
  • SSL
  • Non-blocking IO
  • Builtin Image Viewer
  • IPv6 support
  • Full xbel compatible bookmark support and management

官方站点: http://www.konqueror.org/embedded/ ,上面介绍得很详细.

下载最新版本: http://developer.kde.org/~hausmann/snapshots/Attic/konqueror-embedded-snapshot-20030705.tar.gz

关于konqueror/embedded已经有不少前辈研究的很透彻了,像http://www.minigui.org/downloads/TECHPAPER-KONQEMB-ARCH-V1.0.pdf上,就对其结构进行了较深入的分析。

也有更新些的版本,在http://www.cirulla.net/kdenox-snapshots/上有,不过后者所需的QT/Embedded版本必须大于3.1版本.

我使用的QT版本交叉编译环境如下:

 QT/Embedded 2.3.7  Qtopia-free-1.7.0 arm-linux-g++ (3.3.2版本)

所有QT资源在ftp://ftp.trolltech.com上都能免费下载到。

下面介绍移植konqueror/embedded到arm板的过程。

下载 http://developer.kde.org/~hausmann/snapshots/Attic/konqueror-embedded-snapshot-20030705.tar.gz
假设解压到 /usr/local/qt/konqueror
修改 /usr/local/qt/konkueror/konq-embed/src下的main.cc文件
第334行注释掉     //(void)new PopupHandler( &app, "popup-handler" );
修改 /usr/local/qt/konqueror/konq-embed/src/defaults.h 修改一些网页默认设置,如主页等
修改 /usr/local/qt/konqueror/konq-embed/kdesrc/khtml/khtmldefaults.h 修改默认字体,如“unifont”
 /usr/local/qt/konqueror/konq-embed/src/preferencesimpl.cc 第152行
增加两行:
     setFontComboEntry( defaultFont, HTML_DEFAULT_VIEW_FONT );
     defaultFont->setCurrentItem(2);  //假设你的默认字体排序为2

设置环境变量,我的qt目录是/usr/local/qt/qt-arm,交叉编译器目录为/usr/local/arm/3.3.2

export QTDIR=/usr/local/qt/qt-arm/qt-2.3.7
export QPEDIR=/usr/local/qt/qt-arm/qtopia-free-1.7.0
export TMAKEDIR=/usr/local/qt/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$TMAKEDIR/bin:$QTDIR/bin:$PATH
ln -s $QPEDIR/lib/libqpe.so $QTDIR/lib/libqpe.so
mkdir /usr/local/qt/konkueror/install         

./configure --target=arm-linux --host=arm-linux --enable-embedded --enable-qt-embedded --disable-debug --enable-ftp --enable-static --disable-shared --enable-qtopia --enable-qpe --disable-mt --with-gui=qpe --with-extra-libs=/usr/local/arm/3.3.2/lib --with-extra-includes=/usr/local/arm/3.3.2/include -without-ssl --prefix=/usr/local/qt/konqueror/install --with-qt-dir=$QTDIR --with-qt-includes=$QTDIR/include --with-qt-libraries=$QTDIR/lib --with-qtopia-dir=$QPEDIR
make
make install
编译好的文件在/usr/local/qt/konqueror/install目录下.

汉化konqueror
 cd /usr/local/qt/konqueror/konq-embed
 make messages
 编辑生成的konqueror.pot 文件, 第15行charset设置为UTF-8 
  "Content-Type: text/plain; charset=UTF-8\n"
 编辑好后用$QTDIR/tools/msg2qm/msg2qm工具将konqueror.pot 转成 konqueror.qm文件.
 $QTDIR/tools/msg2qm/msg2qm konqueror.pot konqueror.qm
 生成的 konqueror.qm 文件拷贝到 $QPEDIR/i18n/zh_CN目录下.
 注意qm 文件名必需和可执行文件名相同.如 可执行文件为 arm-linux-konqueror 那么qm文件为 arm-linux-konqueror.qm

为了能在qt上运行konqueror,在文件系统目录下最好单独建个 konqueror目录,拷贝 /usr/local/qt/konqueror/install目录下的所有文件到这个konqueror目录下.我的文件系统根目录下有个 Qtopia目录,下面就建了一个konqueror目录,另外还有qtopia-free-1.7.0和qt-2.3.7目录.

做好链接: 到文件系统目录的Qtopia目录下,

ln -s konqueror/bin/arm-linux-konqueror qtopia-free-1.7.0/bin/arm-linux-konqueror

ln -s konqueror/apps/Applications/konqueror.desktop qtopia-free-1.7.0/apps/Applications/konqueror.desktop

ln -s konqueror/pics/konqueror.png  qtopia-free-1.7.0/pics/konqueror.png  

拷贝翻译文件 arm-linux-konqueror.qm 至 qtopia-free-1.7.0/i18n/zh_CN目录下。

另外系统启动脚本里面必须设置好环境变量.对于konqueror来说,除了设置QTDIR,QPEDIR,QTEDIR外还要设置KDEDIR,KDEDIR就设置为建的konqueror目录.

文件系统制作好后,下载到板子上,没有问题的话,就可以用它浏览网页了。

不过由于QT使用的是Unicode码,所以要显示中文,必须设置字体为 unicode或是支持 unicode编码的字体,如simsun。对于编码为gb2312的网站,就出问题了,因为文件系统里并不带gb2312字库,所以显示就是乱码了。而 我在PC上模拟的qt/e就没有问题,是不是因为pc上gb2312库,Qt可以自动转换的原因?还在思考中。

----引于网络

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
QT/E和Qtopia的编译详解
Qt/Qte 4.7.2开发环境搭建及Micro2440的移植笔记
QTE 交叉编译(PC部分)
Tslib和Qt 4.8.4与在开发板上的移植
移植qt
成功移植Qt4.7到2440,失败是被误导
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服