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

在Linux中移植QT QTOPIA

移動開發
本文介紹一下關于QT QTOPIA在linux上的移植,Qtopia 是Trolltech 公司為采用嵌入式Linux操作系統的消費電子設備而開發的綜合應用平臺, Qtopia包含完整的應用層、靈活的用戶界面、窗口操作系統、應用程序啟動程序以及開發框架。

Qtopia 是Trolltech 公司為采用嵌入式Linux操作系統的消費電子設備而開發的綜合應用平臺, Qtopia包含完整的應用層、靈活的用戶界面、窗口操作系統、應用程序啟動程序以及開發框架。

QT是目前在linux上使用較廣的一個圖形系統。用戶經常配合KDE桌面環境來使用。需要注意的是我們看到的并操作的是KDE,而不是QT。QT只是一套庫函數(類庫),KDE才是可執行程序.同時KDE為了其他程序方便的對其操作,也提供一套庫函數(類庫)。

在PC機上的QT是基于X11圖形系統的,在嵌入設備中往往不需要這么累贅,只需使用QTE(QT Embedded)即可包括PC平臺中X11和QT庫的功能。

另一方面,嵌入設備受許多條件的限制,桌面系統也不能直接使用PC機上已有的系統。QTOPIA就是相當于KDE的桌面系統.根據具體嵌入設備的需要可以配置成phone和pocket pc兩種。

1、準備工作

(1) 目標

首先要明確將要干的是什么,將怎么做。

我們的目標很明確??就是在自己的開發板上使用基于QTE的桌面系統QTOPIA。

我們的工作往往是先在PC完成以后移植到ARM平臺上;先編譯好QTE的庫,再編譯QTOPIA。因為這個系統和具體的設備有關(例如:觸摸屏、時鐘、電源管理設備等),所以***還需要做設備接口的移植工作。
   
(2)軟件包

系統平臺:RedHat Array(完全安裝)

  1. qt-embedded-2.3.7.tar.gz (qte的庫)  
  2. qt-x11-2.3.2.tar.gz (為了生成相應的qtdesigner和qvfb)  
  3. qtopia-free-1.7.0.tar.gz (qte的桌面環境程序)  
  4. tmake-1.11.tar.gz (編譯時會用到)  
  5. e2fsprogs-1.35.tar.gz (只使用其中的uuid的庫) 

當下載完這些包以后我們先建立一個工作環境。假設所有軟件包都下載在用戶目錄下,通常都是/root。

(3)環境的建立

  1. # cd ~  
  2. # mkdir x86-qtopia  
  3. # tar zxvf qt-x11-2.3.2.tar.gz  
  4. # mv qt-2.3.2 qt-x11  
  5. # cd x86-qtopia  
  6. # tar zxvf ../tmake-1.11.tar.gz  
  7. # tar zxvf ../qt-embedded-2.3.7.tar.gz  
  8. # tar zxvf ../qtopia-free-1.7.0.tar.gz  
  9. # tar zxvf ../e2fsprogs-1.35.tar.gz  
  10. # mv tmake-1.11 tmake  
  11. # mv qt-2.3.7/ qt  
  12. # mv qtopia-free-1.7.0 qtopia  
  13. # mv e2fsprogs-1.35 e2fsprogs  
  14. # cp x86-qtopia arm-qtopia -rf 

記住,用戶目錄下的x86-qtopia目錄是PC機上編譯的工作環境,arm-qtopia是arm平臺的交叉編譯工作環境,qt-x11是兩者公用的。

接下來還必須編譯qt-x11,主要是為了編譯生成其中的qtdesigner和qvfb。qvfb程序在系統中并未安裝,需要我們自己編譯。qtdesigner是和qt庫的版本是相關的,當我們使用PC機上和QTE版本不符的qtdesigner時,可能在PC機上的qt-x11能使用的控件在QTE上并未實現,導致應用程序編譯不成功。所以,我們使用2.3版本的QTE時,必須使用相同版本的qt-x11編譯生成的qtdesigner和qvfb。

  1. # cd ~/qt-x11  
  2. # export QTDIR=$PWD  
  3. # echo yes | ./configure -static -no-xft -no-opengl -no-sm  
  4. # make -C src/moc  
  5. # cp src/moc/moc bin  
  6. # make -C src  
  7. # make -C tools/designer  
  8. # make -C tools/qvfb  
  9. # cp tools/qvfb/qvfb bin  
  10. # strip bin/uic bin/moc bin/designer bin/qvfb  
  11. # cp qt-x11/bin/* qt/bin -f  
  12. # cp qt-x11/bin/* qt/bin -f 

2、PC平臺編譯

編譯之前做一下準備工作:打開一個控制臺之后設置環境變量。

  1. # cd ~/x86-qtopia  
  2. # export QTDIR=$PWD/qt  
  3. # export QPEDIR=$PWD/qtopia  
  4. # export TMAKEDIR=$PWD/tmake  
  5. # export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++  
  6. # export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH 

(1)編譯QTE

  1. # cd $QTDIR  
  2. # cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/ -f  
  3. # (echo yes ; echo no) | ./configure -platform linux-generic-g++  -qconfig qpe -depths 16,24,32  
  4. # make -C src clean  
  5. # make -C src 

看一下QTDIR目錄下是否已經有了qt的庫了?

#p#

(2)編譯QTOPIA

  1. # cd $QPEDIR/src  
  2. # ./configure  
  3. # make clean  
  4. # make 

(3)測試QTOPIA

激動的時刻來了,如果這個步驟成功將意味著可以做應用開發了。

  1. # cd ~/x86-qtopia  
  2. # mkdir dist  
  3. # cd dist  
  4. # cp -af ../qt/lib/ .  
  5. # cp -af ../qtopia/apps .  
  6. # cp -af ../qtopia/bin .  
  7. # cp -af ../qtopia/plugins .  
  8. # cp -af ../qtopia/i18n .  
  9. # cp -af ../qtopia/pics . 

因為Security.png有點錯誤,所以必須進行一下操作:

  1. # cd pics  
  2. # pngtopnm Security.png>a.pnm  
  3. # pnmtopng a.pnm>Security.png 

因為qpe運行的時候,當前目錄必須是$QTDIR/bin,所以不能在$QTDIR目錄下執行bin/qpe來運行。

  1. # export QTDIR=~/x86-qtopia/qt  
  2. # cd $QTDIR/bin  
  3. # ./qvfb &  
  4. # ./qpe & 

看到qpe在qvfb中的界面了嗎?我看到了~!

3、 目標平臺交叉編譯

與PC機上的編譯一樣,打開一個控制臺之后需要設置環境變量。

  1. # cd ~/arm-qtopia  
  2. # export QTDIR=$PWD/qt  
  3. # export QPEDIR=$PWD/qtopia  
  4. # export TMAKEDIR=$PWD/tmake  
  5. # export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++  
  6. # export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH 

(1)交叉編譯QT

(2) 交叉編譯QTOPIA

4、移植QT中的相關設備接口

(1) 鼠標

(2)觸摸屏

5、移植QTOPIA中的相關設備接口

(1)電源管理設備

6、編寫QT程序并移植

7、編寫QTOPIA程序并移植

  1. X. tips 

1、移植的時候編譯器的版本很重要.qte-2.3.7在redhatArray的3.2編譯器下工作很正常,但在Fedora4的gcc-3.4.2編譯器下編譯卻不成功.根據測試,PC平臺上使用gcc-3.2可以順利編譯,arm平臺上使用gcc-2.Array5.2可以順利通過(gnuarm的編譯器好像不行,用華恒光盤中的armv4l-unkown-linux-gcc的可以編譯通過)
2、編譯過程中會提示缺少uuid的頭文件和庫,下載e2fsprogs-libs-1.38.tar.gz,里面有uuid的相關代碼.
3、編譯的時候需要指定編譯器,在qt的configs目錄下有許多文件,修改linux-arm-g++-*這些文件中的相關定義.例如:默認使用arm-linux-gcc編譯器,而我使用的是GNUARM的arm-elf-gcc編譯器,替換文件中所有arm-linux-前綴為arm-elf-即可.

小結:前段時間,諾基亞宣布收購從事桌面和移動設備應用架構開發的公司Trolltech。Trolltech以QT架構而聞名,這種架構是開源KDE的核心。恩,還是比較重要一點!希望本文對你有所幫助!

【編輯推薦】

淺談Qt中多線程編程

Qt Symbian SDK 安裝

在Qt中如何寫控制臺程序

Qt 平臺中使GUI保持響應流暢

基于Qt Web瀏覽器設計與實現

淺談自動化測試工具 QTP腳本的重用

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-20 09:26:38

Linux qtopia QT

2011-06-20 09:58:17

Qt Qtopia 移植

2011-06-29 09:20:41

Qt Embedded Qtopia

2011-06-20 09:06:05

Qt Qtopia

2011-06-29 10:46:01

Qt Eembedded Linux

2011-06-13 11:24:55

QT MPlayer 移植

2011-06-23 18:16:59

Qt Qtopia

2011-06-28 13:02:06

Qt Qt 4.7.3 ARM

2011-06-13 11:07:22

QT 移植

2011-06-14 09:21:55

Linux Qt 環境變量

2011-07-05 16:31:17

Qtopia 交叉編譯

2011-06-15 18:38:17

Linux Qt Symbian

2011-07-05 11:10:23

Linux Qt 移植

2011-07-05 10:55:14

Linux Qt 移植

2011-06-15 18:20:20

Qt 移植 Android

2011-06-13 17:46:07

Qt 串口通信

2011-07-04 10:56:10

Qt 移植 編譯

2011-06-20 10:27:24

Mini2440 Qtopia Qt

2011-07-02 13:42:24

Qt 移植

2011-06-09 18:24:36

QT Wince
點贊
收藏

51CTO技術棧公眾號

日韩精品一卡二卡三卡四卡无卡| 国产精品夜夜嗨| 国产女人18毛片水18精品| 国产毛片一区二区三区| 99精品国产高清一区二区| 色综合久久网| 亚洲丰满在线| 亚洲精品大片www| 亚洲精品传媒| 欧美一区二区精品在线| www亚洲人| 中文字幕精品在线| 国精一区二区| 鲁片一区二区三区| 久久综合色播五月| 看女生喷水的网站在线观看| 欧美极品xxxx| 国产在视频线精品视频www666| 欧美伦理一区二区| 极品美女销魂一区二区三区| 最新天堂资源在线资源| 精品嫩草影院久久| 成人女性视频| 狠狠干一区二区| 亚洲视频碰碰| 免费av网址在线| 51精品秘密在线观看| 蜜乳av综合| 亚洲欧洲日本精品| 国产精品毛片无遮挡高清| 91.·福利| 欧美日韩国产另类一区| 欧美jizz18hd性欧美| 2021久久精品国产99国产精品| 一区二区国产精品| 一区二区在线观| 日韩免费观看高清完整版在线观看| 国产精品伊人| 国产精品观看在线亚洲人成网| 久久亚洲图片| 中文字幕在线资源| 91高清视频免费| 久久综合丝袜日本网| 四虎永久精品在线| 大西瓜av在线| 亚洲深夜福利视频| 天海翼精品一区二区三区| 欧美日韩国产免费一区二区三区| 欧美日韩性生活视频| 日韩精品电影| 亚洲图片123| 欧美亚洲国产日本| 91视频.com| 高清性色生活片在线观看| 日韩免费高清av| 日本怡春院一区二区| 欧美高清成人| 欧美又大又硬又粗bbbbb| 亚洲欧美综合另类在线卡通| 九九热线有精品视频99| 亚洲夫妻av| 欧美精品电影在线| 不卡影院免费观看| 免费在线观看av网站| 国产欧美日韩专区发布| 国产精品蜜臀在线观看| 神马久久影院| 欧美边添边摸边做边爱免费| 一区二区三区我不卡| 亚洲国产欧美一区二区三区同亚洲 | av免费看在线| 妺妺窝人体色www看人体| 美女视频黄免费的亚洲男人天堂| 国产精品人人做人人爽人人添| 国产精品一区二区三区av| 国产91久久久久蜜臀青青天草二| 国产精品成人品| 在线观看日韩av先锋影音电影院| 日韩精品电影一区亚洲| 欧美日韩破处视频| 日本a在线免费观看| 亚洲亚裔videos黑人hd| 精品成人在线| 8848成人影院| 素人av在线| 羞羞免费视频| 一区精品在线| 亚洲free嫩bbb| 欧美一卡二卡在线| 影院欧美亚洲| 美女久久久久久| 国产在线高清理伦片a| jlzzjlzz欧美| 人人妻人人添人人爽欧美一区| 国产欧美日韩高清| 久久亚洲国产精品成人av秋霞| 色一情一乱一乱一91av| 蜜臀国产一区二区三区在线播放| 亚洲国产综合在线观看| av网站网址在线观看| 四虎av网址| 99国产精品白浆在线观看免费| 91国内在线视频| 亚洲精品天天看| 丰满岳妇乱一区二区三区| 日日夜夜精品视频免费| 一区二区视频| 性欧美video另类hd尤物| av电影在线免费| 免费av在线播放| 未来日记在线观看| 精品无码久久久久久国产| 国产精品日韩成人| 26uuu亚洲综合色欧美| 国产美女视频91| 裸体在线国模精品偷拍| 国产精品自拍一区| 91亚洲精品久久久蜜桃| 久久品道一品道久久精品| 成人福利视频在线| 成人精品电影在线观看| av高清久久久| 黄视频在线播放| 黄网免费入口| 北条麻妃高清一区| 波多野结衣天堂| 麻豆最新免费在线视频| 五月伊人六月| 欧美91精品| 精品久久久久香蕉网| 艳色歌舞团一区二区三区| 精品国产白色丝袜高跟鞋| 蜜芽一区二区三区| 久久精品这里热有精品| 少妇av一区二区三区无码| av毛片精品| 在线观看视频一区二区 | 中文字幕在线观看不卡视频| 欧美亚洲成人网| 欧洲伦理片一区 二区 三区| 日本视频中文字幕一区二区三区| 日韩中文字幕久久| 国产区高清在线| 六月丁香综合| 91精品国产色综合| 婷婷av在线| av激情综合网| 国产精品一区二区3区| 黄色免费在线看| 日本欧美大码aⅴ在线播放| 久久男人的天堂| av资源中文在线| 亚洲激情图片qvod| 国产高清一区二区三区| 成年美女黄网站色大片不卡| 亚洲色图都市小说| 美日韩精品免费| 播放一区二区| 日韩一区二区在线看| 国产精品免费久久久久久| 日本激情视频网| 成人黄页毛片网站| 欧美日韩电影一区二区三区| 三级黄色的网站| 美女在线观看视频一区二区| 亚洲自拍小视频免费观看| 久久久久久久| 色欧美乱欧美15图片| 999精彩视频| 国内精品免费在线观看| 国产精品 日韩| 婷婷综合伊人| 欧洲s码亚洲m码精品一区| 美女视频一区| 日韩亚洲欧美一区二区三区| 久久久pmvav| 亚洲高清免费视频| 国产免费999| 久久女同互慰一区二区三区| 伊人av成人| 国产毛片一区二区| a级片一区二区| 欧美亚洲三区| 精品国产一区二区三区久久久久久| 国产一区二区三区91| 久久久国产视频91| 天堂精品在线视频| 2023亚洲男人天堂| 91精品入口| 97精品国产97久久久久久| 成人av在线播放| 97国产suv精品一区二区62| 林ゆな中文字幕一区二区| 99国产精品视频免费观看| 日本阿v视频在线观看| 99久久久国产精品| 亚洲欧美日韩不卡| 中文字幕乱码一区二区免费| 四虎国产精品成人免费4hu| 香蕉影视欧美成人|