国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

我教你konqueror的移植

運維 系統運維
Konqueror 是 KDE 桌面系統的一部分,主要用于 Linux 和 BSD家族的操作系統。在微軟的 Windows 系統下,也有零星使用,當然功能相對有限。Konqueror主要用于文件管理、瀏覽,以及網頁瀏覽。Konqueror 按照 GPL 進行發布。本文我給大家帶來的是konqueror的移植的過程。

Konqueror很多人用,反正比某些瀏覽器強多了,本文教給大家konqueror的移植的方法。

  1、編譯QTE庫

  一般,如果你要做Qt/Embedded的開發,***把Qt/Embedded編譯成為兩個版本,一個是主機版,一個是目標版。

  2、在獲得Qt/ Embeded 的源碼之后,將其分別解壓到兩個目錄

  3、編譯主機版本

  1) export環境變量

  export QTDIR=/usr/local/qtopia/work/qt-2.3.5

  export QTEDIR=$QTDIR

  export PATH=$QTDIR/bin:$PATH

  export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

  2) 運行./configure

  ./configure -depths 4,8,16.32 -no-ipv6 -no-cups -no-pch -qvfb

  3) 編譯Qt/Embedded函數庫

  make sub-src

  4) 編譯Qt/Embedded輔助開發工具

  cd tools;make

  這一步就會成一個可以在主機環境(x86)下運行的uic指令,放在$QTDIR/bin目錄中。

  這時可以使用qte提供的qvfb工具 可以在qvfb窗口中運行examples 中的例子

  四. 編譯目標版本

  首先安裝交叉編譯工具

  qte 版本是qt-2.3.5

  由于我使用的是PXA255的板子 它所帶的觸摸屏驅動與qt-embedded 中的觸摸屏接口不符

  必須修改qte目錄下src/kernel/qwsmouse_qws.cpp

  在定義QCustomTPanelHandlerPrivate類時 增加一個成員變量unsigned char prevstate

  以下為修改后的類定義

  class QCustomTPanelHandlerPrivate : public QWSMouseHandler {

  Q_OBJECT

  public:

  QCustomTPanelHandlerPrivate(MouseProtocol, QString dev);

  ~QCustomTPanelHandlerPrivate();

  private:

  int mouseFD;

  unsigned char prevstate;

  private slots:

  void readMouseData();

  };

  然后修改成員函數readMouseData

  修改為:

  void QCustomTPanelHandlerPrivate::readMouseData()

  {

  if(!qt_screen)

  return;

  CustomTPdata data;

  short data2[4]={0};

  int ret;

  ret=read(mouseFD,data2,sizeof(data2));

  if(ret) {

  data.status=data2[0];

  data.xpos=data2[1];

  data.ypos=data2[2];

  QPoint q;

  q.setX(data.xpos);

  q.setY(data.ypos);

  mousePos=q;

  if(data.status && !prevstate) {

  emit mouseChanged(mousePos,Qt::LeftButton);

  } else if(!data.status&&prevstate){

  emit mouseChanged(mousePos,0);

  }

  prevstate=data.status;

  }

  if(ret<0) {

  qDebug("Error %s",strerror(errno));

  }

  }

  然后編譯qte

  編譯腳本如下 :

  #!/bin/sh

  export QTDIR=`pwd`

  export CC=arm-linux-gcc

  export AR=arm-linux-ar

  export NM=arm-linux-nm

  export RANLIB=arm-linux-ranlib

  export CXX=arm-linux-g++

  export LINKER=arm-linux-g++

  export STIRP=arm-linux-strip

  export OPTIONS="-DQT_QWS_IPAQ -DQWS -dno-exceptions -fno-rtti -pipe"

  make clean

  echo yes | ./configure -release -shared -gif -no-sm -no-thread -system-zlib -system-libpng -no-mng -system-jpeg -no-nas-sound -no-opengl -no-xft -qconfig qpe -depths 16 -no-qvfb -vnc -xplatform linux-ipaq-g++ &&

  make

#p#

  五 編譯qtopia目標平臺版本

  與qte2.3.5對應的 qtopia版本是qtopia 1.6.*

  我選擇的是 qtopia-commercial-1.6.1

  編譯腳本如下

  #!/bin/sh

  unset TMAKEPATH

  export QTDIR=`pwd`/../../qt-2.3.5

  export QTEDIR=$QTDIR

  export QPEDIR=`pwd`/../

  export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

  export CC=arm-linux-gcc

  export AR=arm-linux-ar

  export NM=arm-linux-nm

  export RANLIB=arm-linux-ranlib

  export CXX=arm-linux-g++

  export LINKER=arm-linux-g++

  export STIRP=arm-linux-strip

  export LD=arm-linux-ld

  make clean

  ./configure -release -shared -platform linux-ipaq-g++ &&

  make

  六 編譯konqueror

  在konqueror homepage下有很多konqueror-embedded-snapshot的包下載

  http://developer.kde.org/~hausmann/snapshots/Attic/

  我下載的是konqueror-embedded-snapshot-20030705.tar.gz 解壓縮

  為了支持中文網頁 konqueror 的字體必須設置為unifont 而不是默認的helvetica

  在dropin目錄下修改kglobalsettings.cpp

  將KGlobalSettings類 generalFont成員函數找到初始化QFont對象

  s_generalFont = new QFont( "helvetica", 12 );

  其中的helvetica改為unifont

  我的交叉編譯腳本:

  export QTDIR=/usr/local/Qt/qt-2.3.5

  export QTEDIR=$QTDIR

  export QPEDIR=/usr/local/Qt/ qtopia-commercial-1.6.1

  export PATH=$QTDIR/bin:$QPEDIR/bin:$PATH

  export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH

  export AR=arm-linux-ar

  export AS=arm-linux-as

  export LD=arm-linux-ld

  export RANLIB=arm-linux-ranlib

  export CC=arm-linux-gcc

  export CXX=arm-linux-g++

  export NM=arm-linux-nm

  ./configure --disable-debug --libdir=$QPEDIR/lib --host=arm-linux --prefix=$QPEDIR/image/opt/Qtopia --enable-qt-embedded --enable-embedded --enable-qtopia --enable-qpe --enable-readwrite --enable-cgi --enable-sidebar --enable-fontsubs --disable-jshostext --enable-largeicons --with-qt-dir=$QTDIR --with-qt-libraries=$QTDIR/lib --with-qtopia-dir=$QPEDIR --with-gui=qpe --with-qt-includes=$QTDIR/include

  make

  make install

  這時在konqueror 的文件夾中 konq-embed/src下 可以找到konqueor可執行文件 konqueror.desktop

  和konqueror.png

  把可執行文件拷貝到$QPEDIR/bin下 把konqueror .desktop拷貝到$QPEDIR/apps/Application下

  把konqueror.png 拷貝到$QPEDIR/pic下

  備注:在拷貝konqueror.desktop之前 ,在PC機上選擇該文件,右鍵選擇快捷菜單中的屬性,在彈出的窗口中選擇啟動器標簽 ,在命令一欄konqueror的后面添上-font unifont 以顯示中文網頁

  在PC機的 /usr/local下有一個kde文件夾 將這個文件夾拷貝到嵌入式文件系統下的某個目錄 (我拷貝在嵌入式文件系統的 /usr/local下 )

  這個文件夾下的子目錄下的 html4.css和 charsets二個 文件是運行konqueror必須的

  六 移植并執行

  在PC機編譯好的qtopia目錄下有一個createdesktop腳本 運行這個腳本 生成一個.tar文件 可以將這個文件拷貝到嵌入式文件系統下的某個目錄 同時還要將交叉編譯的qt-2.3.5中的lib目錄下的庫文件和font文件愛你夾拷貝加入到qtopia的lib目錄下

  我將tar包解壓縮后拷貝在/usr/person下(當然也可以拷貝tar包,運行qpe時再將tar包解壓縮)

  為了使qt能找到觸摸屏驅動 需建立鏈接 在rootfs中的/etc/init.d/rcS中加入

  ln -s /dev/misc/touchscreen/ucb1x00 /dev/ts

  ln -s /dev/misc/touchscreen/ucb1x00 /dev/h3600_ts

  ln -s /dev/misc/touchscreen/ucb1x00 /dev/tpanel

  ln -s /dev/misc/touchscreen/ucb1x00 /dev/touchpanel

  為了使konqueror能訪問Internet 需要設置網關 在rootfs中的/etc/init.d/rcS中加入

  route add default gw 192.168.2.1 (192.168.2.1是網關IP)

  ***運行qtopia需要校正 用戶在觸摸屏上指定4個角和中心點的位置

  這時qpe會向/tmp/poitercal這個文件里寫數據 而原先這個文件是空的

  文件內容為:73763 0 -1058203 0 76106 -1382584 65536

  可以在init.d/rcS中加入相關命令 省去每次加電運行qpe 均需校正的麻煩

  /home/zhangyu/rootfs/usr/person/qtopia-commercial-1.6.1

  在PXA255上運行qtopia的腳本:

  export HOME=/usr/person/qtopia-commercial-1.6.1

  export QTDIR=/usr/person/qtopia-commercial-1.6.1

  export QPEDIR=/usr/person/qtopia-commercial-1.6.1

  export QWS_MOUSE_PROTO=TPanel:/dev/h3600_ts

  export LD_LIBRARY_PATH=/usr/person/qtopia-commercial-1.6.1/lib:$LD_LIBRARY_PATH:/usr/local/qt-2.3.5/lib

  export KDEDIR=/usr/local/kde

  /usr/person/qtopia-commercial-1.6.1/bin/qpe -qws -font unifont &

  一定要指明kde路徑 否則運行konqueror時提示找不到html4.css和 charsets二個 文件

  這時候就可以看見qtopia 的啟動畫面 如果在選擇語言為中文或韓文后發現標題和圖標文字為方塊 可以在settting下進行appearence和launch拉中選擇字體文unifont

  在應用程序中有個web browser的圖標 點擊就打開瀏覽器

  備注:顏色顯示問題 由于我燒寫的內核framebuffer中對16位深度的像素,RGB顏色分配位數均為5位

  可參考內核dirve/video/pxafb.c

  if (var->bits_per_pixel == 16) {

  var->red.offset = 10; var->red.length = 5;

  var->green.offset = 5; var->green.length = 5;

  var->blue.offset = 0; var->blue.length = 5;

  }

  而qt-embedded在將RGB顏色轉換為16位深度時 定義的RGB分別占用5位 6位 5位 若不改動會造成色彩失真 在圖像邊緣處尤其明顯

  轉換的函數在src/kernel/qcolor_qws.cpp中被調用

  case 16: {

  return pix = qt_convRgbTo16(rgbVal);

  #endif

  } case 24:

  該函數和占位格式的定義在qgfx_qws.h中

  # define QT_QWS_DEPTH16_RGB 565 改為# define QT_QWS_DEPTH16_RGB 555

  隨后的

  static const int qt_rbits = (QT_QWS_DEPTH16_RGB/100);

  static const int qt_gbits = (QT_QWS_DEPTH16_RGB/10%10);

  static const int qt_bbits = (QT_QWS_DEPTH16_RGB%10);

  static const int qt_red_shift = qt_bbits+qt_gbits-(8-qt_rbits);

  static const int qt_green_shift = qt_bbits-(8-qt_gbits);

  static const int qt_neg_blue_shift = 8-qt_bbits;

  RGB的占位和偏移量均由QT_QWS_DEPTH16_RGB 常量決定

  修改后 顏色顯示正常

怎么樣?通過閱讀文章,覺得做開發一個Konqueror還是有點難度的,趕快學習吧!

【編輯推薦】

  1. Konqueror簡單介紹
  2. 嵌入式瀏覽器Konqueror的技術分析
  3. 我教你修改konqueror工具欄
  4. 讓我的konqueror顯示中文網頁
  5. Konqueror 特殊超能力
  6. 圖文并茂 Konqueror讓你一看就精通
  7. 深入了解 Konqueror/embedded的編譯和安裝的過程
  8. Opera快速撥號引入Konqueror方法
  9. Konqueror右鍵菜單的擴展
責任編輯:趙鵬 來源: 網絡轉載
相關推薦

2011-02-22 17:29:24

konqueror

2011-02-22 17:40:54

konqueror

2011-02-24 10:27:06

Konqueror使用

2011-02-22 16:38:03

Konqueror

2011-02-24 11:10:33

Konqueror

2011-02-24 11:22:12

Konqueror

2011-02-23 09:29:29

Konqueror

2011-02-24 11:16:23

Konqueror

2011-03-04 12:18:24

FileZilla

2011-02-22 17:48:34

Konqueror

2011-02-23 10:35:04

Konqueror

2011-02-23 09:07:33

Konqueror

2011-02-23 12:49:31

KonquerorEmbedded

2011-02-22 18:09:08

Konqueror

2022-07-26 12:03:29

嵌入式系統開源

2011-02-22 17:12:40

2011-02-23 11:26:38

Konqueror

2011-02-23 10:57:27

Konqueror

2024-05-16 10:59:16

Vue項目前端

2011-02-21 17:32:37

Vsftpd
點贊
收藏

51CTO技術棧公眾號

亚洲午夜视频在线| 视频一区视频二区在线观看| 日韩欧美中文在线| 中文字幕第36页| 国产精品综合| 国产精品乱子乱xxxx| 国产精品一线天粉嫩av| 欧美xxxx14xxxxx性爽| av影视在线看| 777午夜精品免费视频| 国产51人人成人人人人爽色哟哟 | 国产成人福利片| 日韩免费av电影| 国产人成精品一区二区三| 97欧洲一区二区精品免费| 成人av二区| 成人久久久久爱| 亚洲乱码精品| 国产美女精品在线观看| 国产尤物精品| 精品免费二区三区三区高中清不卡| 国产精品v日韩精品v欧美精品网站| 亚洲a一级视频| 激情久久久久久久| 欧美久久久久久久| 久久午夜视频| 亚洲欧美丝袜| 国产精品66部| 北条麻妃av高潮尖叫在线观看| 久久精品男人的天堂| 日本在线一二三区| 中文字幕一区二区三| 在线观看成年人视频| 精品动漫一区二区| 黄网站在线免费| 日韩电视剧免费观看网站| 在线国产成人影院| 欧美激情一区二区三区久久久| 精品视频在线你懂得| 国产精品高潮粉嫩av| 性xxxx欧美老肥妇牲乱| 老司机精品福利在线观看| 国产毛片精品一区| 日本熟妇人妻中出| 亚洲成精国产精品女| 日本a在线播放| 一区二区三区高清国产| 精品人人人人| 国产精品免费观看高清| 国产精品综合在线视频| 999www成人| 欧美三级韩国三级日本一级| 激情黄产视频在线免费观看| 久久久久久久91| 在线国产欧美| 国产精品天天摸av网| 亚洲男人都懂的网站| 欧美精品一区二区三区一线天视频 | 亚洲男人都懂的网站| 91麻豆精品国产91久久久| xx欧美视频| 国产成人午夜视频网址| 国产精品日韩久久久| 少妇高潮喷水久久久久久久久久| 欧美日韩亚洲精品一区二区三区| 国产夫妻在线播放| 日本中文字幕在线一区| 福利在线视频网站| 亚洲国产天堂久久综合| 99精品女人在线观看免费视频| 日韩美女视频免费看| 欧美综合国产| 亚洲少妇久久久| 欧美人xxxx| 91九色成人| 国产精品一区在线观看| 99riav一区二区三区| 邻居大乳一区二区三区| 一区二区三区久久精品| 亚洲国产精品成人| 久久国产精品视频在线观看| 精品国产乱码久久久久久虫虫漫画| 国产精品va在线观看视色| 久久久久久高潮国产精品视| 蜜桃视频一区| 快色在线观看| 在线播放日韩av| 亚洲国产99| 午夜久久久精品| 精品亚洲精品福利线在观看| 久久国产精品亚洲人一区二区三区| 日韩不卡一二区| 富二代精品短视频| 国产精品一区二区美女视频免费看| 国产在线精品一区二区中文| 中文字幕精品三区| 日韩欧美精品一区二区三区| aa成人免费视频| 综合欧美一区二区三区| av亚洲一区二区三区| 久久一区二区三区欧美亚洲| 亚洲综合一区二区三区| 91精品一区| 男人j进女人j| 欧美一区二区三区在线电影| 91视频精品| 二区中文字幕| 久精品免费视频| 国产二区国产一区在线观看| 久久最新视频| 国内成人在线| 亚洲视频在线a| 精品国产乱码久久久久久久久| 91精品一区二区三区综合在线爱| 国产激情在线观看视频| 午夜精品av| 拔插拔插海外华人免费| 欧美刺激午夜性久久久久久久| 99久久久久国产精品| 小泽玛利亚视频在线观看| 精品国偷自产在线| 国产经典欧美精品| 亚洲欧洲自拍| 亚洲在线色站| 精品日韩av一区二区| 午夜一级久久| 在线日本中文字幕| 国产精品乱码一区二区三区| 一本久久a久久免费精品不卡| 波多野结衣在线播放一区| 国产毛片视频| 国产成人在线一区二区| 一区二区三区四区五区视频在线观看| 精品少妇一区| av网站一区| 日韩美女视频在线观看| 亚洲精品高清在线观看| 欧美色网址大全| 在线免费观看av网站| 91沈先生作品| 欧美日韩一级片在线观看| 日韩一区二区久久| 国产激情在线视频| 图片区小说区区亚洲五月| 亚洲国产精品小视频| 国产精品一区二区三区四区| 国产精品久久亚洲不卡| 日本一本二本在线观看| 欧美华人在线视频| 国产有码在线一区二区视频| 亚洲欧美日韩国产综合| 亚洲人挤奶视频| 全网国产福利在线播放| 91美女片黄在线观看游戏| 欧美三级欧美一级| 免费精品视频在线| 日韩新的三级电影| 一本久道中文无码字幕av| 日本久久中文字幕| 色综合中文字幕国产| 久久精品人人| 久久99久久99精品免观看软件| 欧洲黄色一级视频| 国产精品吹潮在线观看| 欧美体内she精视频| 精品无人区卡一卡二卡三乱码免费卡| 亚洲精品福利电影| 高清成人av| 国产精品手机在线| 亚洲新中文字幕| 亚洲免费毛片网站| 亚洲尤物在线| 国产精区一区二区| 一二三区在线视频| 亚洲一卡二卡三卡| 欧美黑人一级爽快片淫片高清| 欧美色图在线视频| 欧美精品总汇| 日韩一区二区免费在线观看| 亚洲婷婷在线视频| 国产精品久久久久久久久晋中| 亚洲国产专区校园欧美| 亚洲第一综合| 国产精品精品国产| 深夜在线视频| 国产又粗又猛又爽又黄91精品| 国产精品网站大全| 在线一区二区三区四区五区 | 日本在线观看网站| 免费成人进口网站| 日韩av免费看| 精品久久久久99| 中文字幕av不卡| 91精品综合| 欧洲亚洲精品久久久久| 樱花在线免费观看| 91视频成人免费| 成人av在线电影| 欧美在线视频一二三| 国产精品久久久亚洲一区|