精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

解析QT 4.5 編譯

移動開發
Qt是完全面向對象的,很容易擴展,并且允許真正地組件編程,簡單的說,QT就是用來編寫C++程序的。QT4.4.0就是QT4的一個版本。

首先要有配置好的環境,本文使用的編譯環境如下:

主機系統:Ubuntu 8.10

主機編譯器:gcc 版本 4.3.2

交叉編譯器:arm-softfloat-linux-gnu-gcc

軟件資源:

  1. qt-embedded-linux-opensource-src-4.5.1.tar.gz  
  2. qt-x11-opensource-src-4.5.1.tar.gz 

因為一般嵌入式設備上都是在framebuffer的方式,在X11上就是用qvfb 來模擬framebuffer的,我們平時開發也都是在PC上完成的,所以我們需要先安裝X11版的Qt來獲取qvfb這個工具。嵌入式的開發有了 qvfb,就可以不需要實際的開發板,也可以開發Qt應程序。

一、下載

  1. qt-embedded-linux-opensource-src-4.5.1.tar.gz  
  2. qt-x11-opensource-src-4.5.1.tar.gz 

二、編譯安裝qt-embedded

  1. # tar -zxvf qt-embedded-linux-opensource-src-4.5.1.tar.gz  
  2.     # cd qt-embedded-linux-opensource-src-4.5.1  
  3.     # ./configure -embedded x86 -qvfb  
  4.     # make  
  5.     # make install 

qt-embedded 被安裝在這個目錄下/usr/local/Trolltech/QtEmbedded-4.5.1

設置環境變量:

  1. # vi ~/.bashrc 

把下面的加上去

  1. export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.1  
  2.     export PATH=/usr/local/Trolltech/QtEmbedded-4.5.1/bin:$PATH  
  3.     export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.1/lib:$LD_LIBRARY_PATH 

至此,qt-embedded安裝完畢

三、編譯安裝qt-x11

  1. # tar -zxvf qt-x11-opensource-src-4.5.1.tar.gz  
  2. # cd qt-x11-opensource-src-4.5.1  
  3. # ./configure  
  4. # make  
  5. # make install 

qt-x11 被安裝到此目錄下/usr/local/Trolltech/Qt-4.5.1

編譯qvfb:

  1. # cd qt-x11-opensource-src-4.5.1/tools/qvfb  
  2.     # make  
  3. /*****Added by PengCarl (12 December 2009)*****/ 

出現錯誤:/usr/bin/ld: cannot find -lXtst
解決:ubuntu沒裝有libxtst-dev,解決如下

  1. # aptitude install libxtst-dev 

把生成的qvfb復制到qt-embedded的bin下,如

  1. # cp qt-x11-opensource-src-4.5.1/bin/qvfb /usr/local/Trolltech/QtEmbedded-4.5.1/bin 

至此,qt-x11安裝完畢完畢

四、測試

  1. # cd /usr/local/Trolltech/QtEmbedded-4.5.1/demos/  
  2. # qvfb &  
  3. # ./chip -qws 

隨即我們就可以看到qt自帶的例程圖像了。

五、編譯qt自帶的例程

  1. # cd /usr/local/Trolltech/QtEmbedded-4.5.1/demos/  
  2. # qmake chip.pro  (生成Makefile文件)  
  3. # make 

5、編譯安裝tslib1.4

1.首先下載tslib-1.4.tar.gz,下載地址:http://blog.chinaunix.net/u2/75270/showart_1793535.html里面自己找

2.解壓文件后

記得現安裝三個東西

  1. #sudo apt-get install autoconf  
  2. #sudo apt-get install automake  
  3. #sudo apt-get install libtool 

確認已經安裝并設置好arm-linux-gcc

然后進行編譯

  1. #cd tslib/  
  2. #export CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc  
  3. #export CXX=/usr/local/arm/3.4.1/bin/arm-linux-g++ 

運行

  1. #./autogen.sh  
  2. #echo "ac_cv_func_malloc_0_nonnull=yes>arm-linux.cache 

#p#

配置安裝參數

 

  1. #./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no   
  2. PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/build   
  3. -host=arm-linux --cache-file=arm-linux.cache 2>&1 | tee conf_log 

編譯

 

  1. #make 2>&1 | tee make_log  
  2. #make install 

編譯后會出現bulid文件夾

  1. #cd build/etc  
  2. #gedit ts.conf 

去掉module_raw input前面的#號和空格移植到開發板

把build 文件夾拷貝到開發板相應的地方。我的就是拷貝到/home/tslib下

環境變量

 

  1. #!/bin/sh  
  2. export set T_ROOT=/home/tslib/build  
  3. export set LD_LIBRARY_PATH=$T_ROOT/lib  
  4. export set TSLIB_CONSOLEDEVICE=none 
  5. export set TSLIB_FBDEVICE=/dev/fb0  
  6. #export set TSLIB_TSDEVICE=/dev/event0  
  7. export TSLIB_TSDEVICE=/dev/h3600_tsraw  
  8. export set TSLIB_PLUGINDIR=$T_ROOT/lib/ts  
  9. export set TSLIB_CONFFILE=$T_ROOT/etc/ts.conf  
  10. export set TSLIB_CALIBFILE=/home/tslib/build/etc/pointercal  
  11. cd /home/tslib/build/bin  
  12. ./ts_calibrate 

在終端用env查看環境變量如下:

 

  1. [root@utu-Linux]\$ env  
  2. TSLIB_TSDEVICE=/dev/event0  
  3. USER=root 
  4. LD_LIBRARY_PATH=/home/tslib/build/lib  
  5. OLDPWD=/home/tslib/build  
  6. HOME=/  
  7. TSLIB_FBDEVICE=/dev/fb0  
  8. PS1=[root@utu-Linux]\$  
  9. TSLIB_PLUGINDIR=/home/tslib/build/lib/ts  
  10. T_ROOT=/home/tslib/build  
  11. TSLIB_CONSOLEDEVICE=none 
  12. LOGNAME=root 
  13. TERM=vt102 
  14. PATH=/sbin:/usr/sbin:/bin:/usr/bin  
  15. TSLIB_CONFFILE=/home/tslib/build/etc/ts.conf  
  16. SHELL=/bin/sh  
  17. PWD=/home/tslib/build/bin  
  18. TSLIB_CALIBFILE=/home/tslib/build/etc/pointercal  
  19. [root@utu-Linux]\$ 

進入 /home/tslib/build/bin目錄下, ./ts_calibrate 就行了! 

6、編譯安裝QtEmbedded-4.5.2-arm版本

A、解壓

 

  1. root@hrixin-desktop:/work/qte# tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2  
  2. root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-arm  
  3. root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-arm 

B、配置編譯:

  1. ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-arm -embedded arm \   
  2. -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif \   
  3. -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus \  
  4.  -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen \  
  5.  -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib 

注意這個目錄要跟你的tslib安裝目錄相同!!!

  1. To reconfigure, run 'make confclean' and 'configure'.  
  2. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make 

  
 

C、安裝到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目錄下:

 

  1. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make install  
  2. ...  
  3. To reconfigure, run 'make confclean' and 'configure'. 

#p#

移植Qt Embedded-4.5.2 tslib1.4 到 S3C2440

開發環境

操作系統:  Vmware6.0 + Ubuntu 8.04。

交叉編譯器:arm-linux-gcc-4.3.2

目標板:     mini2440 + NEC3.5寸屏

1、下載源碼包:

在:http://www.cnblogs.com/kenter/admin/ftp://ftp.qtsoftware.com/qt/source/ 下載

  1. qt-embedded-linux-opensource-src-4.5.2.tar.bz2  
  2. qt-x11-opensource-src-4.5.2.tar.bz2 

在http://blog.chinaunix.net/u2/86708/showart_1924834.html上 下載tslib1.4.tar.gz

2、配置ubuntu 8.04編譯環境

安裝g++:  sudo  apt-get g++

安裝編譯X11用到的庫:sudo apt-get libx11-dev libxext-dev

安裝libxtst-dev: sudo aptitude install libxtst-dev 否則編譯qvfb出錯。

3、編譯及安裝qt-x11-opensource-src-4.5.2

qt-x11版本可以產生Qt開發工具,如designer、qvfb,嵌入式的開發有了qvfb,就可以不需要實際的開發板,也可以開發Qt應程序。

  1. tar xjvf qt-x11-opensource-src-4.5.2.tar.bz2  
  2. cd qt-x11-opensource-src-4.5.2  
  3. ./configure  
  4. make  
  5. make install 

歷經漫長的編譯過程,默認安裝在/usr/local/Trolltech/Qt-4.5.2下,編譯完成后源程序不要刪除,還有用。

4、編譯配置QtEmbedded-4.5.2-x86版本

A、解壓

  1. root@hrixin-desktop:/work/qte# tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2  
  2. root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-x86  
  3. root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-x86 

B、配置編譯:

 

  1. ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-x86 -embedded x86 -qvfb  
  2. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86# make 

C、安裝到/usr/local/Trolltech/QtEmbedded-4.5.2-x86目錄下:

  1. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86# make install 

D、建立腳本文件:setenv_arm.sh,輸入以下內容:

  1. export QTEDIR="/usr/local/Trolltech/QtEmbedded-4".5.2-x86/  
  2. export PATH="/usr/local/Trolltech/QtEmbedded-4".5.2-x86/bin/:$PATH  
  3. export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/lib/:$LD_LIBRARY_PATH 

E、編譯x86版QT應用程序前,先執行此腳本文件:

 

  1. root@hrixin-desktop:/usr/local/Trolltech/QtEmbedded-4.5.2-x86# source setenv-x86.sh 

5、編譯安裝tslib1.4

A、安裝編譯過程需用到的程序

  1. root@hrixin-desktop:/home/hrixin# apt-get install autoconf(或autoconf2.13)  
  2. root@hrixin-desktop:/home/hrixin# apt-get install automake  
  3. root@hrixin-desktop:/home/hrixin# apt-get install libtool 

B、配置編譯

 

  1. root@hrixin-desktop:/work/qt# tar xzvf tslib-1.4.tar.gz  
  2. root@hrixin-desktop:/work/qt# cd tslib生成./configure  
  3. root@hrixin-desktop:/work/qt/tslib# source autogen.sh  
  4. root@hrixin-desktop:/work/qt/tslib# ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 
  5. root@hrixin-desktop:/work/qt/tslib# make  

C、安裝

  1. root@hrixin-desktop:/work/qt/tslib# make install-strip //生成瘦身應用程序和庫 

打包

  1. root@hrixin-desktop:/usr/local# tar czvf tslib.tar.gz tslib 

D、復制到NFS文件系統/usr/local目錄下解壓

  1. root@hrixin-desktop:/work/root_qtopia/usr/local# tar xzvf tslib.tar.gz

E、設置環境變量,校準觸摸屏。在天開板終端建立腳本文件,并執行:

  1. export TSLIB_ROOT=/usr/local/tslib  
  2. export TSLIB_TSDEVICE=/dev/input/event0  
  3. export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf  
  4. export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts  
  5. export TSLIB_CALIBFILE=/etc/pointercal  
  6. export TSLIB_FBDEVICE=/dev/fb0  
  7. export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 

注意:觸摸屏的前提是你的觸摸屏驅動已經寫好,并加載進了內核.

你可以測試有沒有加載觸摸屏驅動,cat /dev/input/event0(這只是我的板子上的觸摸屏) ,

點擊觸摸屏,看終端有無顯示,若有則表明正確。

在開發板/usr/local/tslib/bin目錄下執行校準觸摸屏程序:

  1. [root@FriendlyARM bin]# ./ts_calibrate 

可以運行此目錄下的其他程序進行測試。      

至此,觸摸屏程序能順利運行,接下來移植QtEmbedded-4.5.2,設置好環境變量。

6、編譯安裝QtEmbedded-4.5.2-arm版本

A、解壓

  1. root@hrixin-desktop:/work/qte# tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2  
  2. root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-arm  
  3. root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-arm 

B、配置編譯:

  1. ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-arm -embedded arm \  
  2. -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif \  
  3. -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus \  
  4.  -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen \  
  5. -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib 

注意這個目錄要跟你的tslib安裝目錄相同!!!

  1. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make 

C、安裝到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目錄下:

 

  1. root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make install 

D、打包編譯安裝好的QtEmbedded庫文件:

  1. root@hrixin-desktop:/usr/local/Trolltech# tar czvf QtEmbedded-4.5.2-arm.tar.gz QtEmbedded-4.5.2-arm 

E、建立腳本文件:setenv_arm.sh,輸入以下內容:

  1. export QTEDIR="/usr/local/Trolltech/QtEmbedded-4".5.2-arm/  
  2. export PATH="/usr/local/Trolltech/QtEmbedded-4".5.2-arm/bin/:$PATH  
  3. export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib/:$LD_LIBRARY_PATH 

F、編譯ARM版QT應用程序前,先執行此腳本文件:

 

  1. root@hrixin-desktop:/usr/local/Trolltech/QtEmbedded-4.5.2-arm# source setenv-arm.sh 

#p#

編譯calculator

  1. root@hrixin-desktop:/work/qt/qt-embedded-linux-opensource-src-4.5.2-arm/examples/widgets/calculator# qmake calculator.pro  
  2. root@hrixin-desktop:/work/qt/qt-embedded-linux-opensource-src-4.5.2-arm/examples/widgets/calculator# make 

7、在主機上建立NFS啟動根文件系統,把編譯好的庫文件復制到相關目錄下。

A、文件系統目錄為:/work/root_qtopia/,修改rcS

  1. [root@FriendlyARM /]# vi /etc/init.d/rcS  
  2. #/bin/qtopia & 

建立Trolltech目錄:

  1. root@hrixin-desktop:/work/root_qtopia/usr/local# mdkir Trolltech 

B、把打包好的庫文件:QtEmbedded-4.5.2-arm.tar.gz復制到/work/root_qtopia/usr/local/Trolltech目錄下

  1. root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech# tar xzvf QtEmbedded-4.5.2-arm.tar.gz  
  2. root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech# cd QtEmbedded-4.5.2-arm/ 

C、復制5-F中編譯好的calculator可執行文件到此目錄下:

  1. root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech/QtEmbedded-4.5.2-arm  
  2. # cp /work/qt/qt-embedded-linux-opensource-src-4.5.2-arm/examples/widgets/calculator/calculator ./  

D、建立腳本文件

  1. root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech/QtEmbedded-4.5.2-arm# gedit setenv.sh 

輸入以下內容:(把設置tslib環境變量的腳本文件內容,也添加進來)

  1. #!/bin/sh  
  2. export TSLIB_ROOT=/usr/local/tslib  
  3. export TSLIB_TSDEVICE=/dev/input/event0  
  4. export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf  
  5. export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts  
  6. export TSLIB_CALIBFILE=/etc/pointercal  
  7. export TSLIB_FBDEVICE=/dev/fb0  
  8. export QWS_MOUSE_PROTO=Tslib:/dev/input/event0  
  9. export QTDIR="/usr/local/Trolltech/QtEmbedded-4".5.2-arm  
  10. export QPEDIR="/usr/local/Trolltech/QtEmbedded-4".5.2-arm  
  11. export LD_LIBRARY_PATH=$QTDIR/lib:$TSLIB_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH 

E、至此,主機上的文件系統已經配置好,開板通過NFS掛載到此文件系統啟動。

啟動后,開發板串口終端執行剛才的腳本文件(通過NFS啟動,執行腳本文件未成功),設置好環境變量。

檢查環境變量是否成功:

  1. [root@FriendlyARM QtEmbedded-4.5.2-arm]# echo $QTDIR  
  2. /usr/local/Trolltech/QtEmbedded-4.5.2-arm 

成功!

如果沒有輸出,則失敗。同樣的方法檢查其他兩個環境變量。
 

F、運行calculator

  1. [root@FriendlyARM QtEmbedded-4.5.2-arm]# ./calculator -qws 

Qtopia移植

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

硬件s3c2410

主機環境:red hot企業版 5.0
 

交叉編譯工具:gcc-3.4.5-glibc-2.3.6
 

主機編譯工具:gcc-4.1
 

Qtopia源碼:qtopia-opensource-src-4.2.0.tar.gz
 

tslib源碼:tslib-1.4.tar.gz

#p#

一、tslib移植

第一步:解壓tslib-1.4.tar.gz

  1. tar -zxvf tslib-1.4.tar.gz 

第二步:進入解壓過的目錄

  1. cd tslib-1.4 

第三步:執行tslib-1.4目錄下的autogen.sh

  1. ./autogen.sh 

這一步需要安裝一些工具:sudo apt-get install automake

第四步:執行autogen.sh腳本所生成的Makefile文件

請打入以下命令:

  1. echo "ac_cv_func_malloc_0_nonnull=yes>$ARCH-linux.cache  
  2. ./configure --host=arm-softfloat-linux-gnu   --prefix=/home/linux/tslib --cache-file=$ARCH-linux.cache 

--host是指你的交叉編譯器的前最;例如:你的交叉編譯器是arm-linux-gcc,則--host=arm-linux.如果是arm-softfloat-linux-gnu-gcc
 

則--host=arm-softfloat-linux-gnu

--prefix 是你執行make install 的時候編譯后生成的可執行文件和庫文件以及配置文所安裝的目錄;

configure文件下還有好多選項;你可以執行./configure --help 來進行選擇其他項,不過在這里這些選項就夠了。

第五步:執行make

第六步:執行make installls

第七步:把指定安裝目錄下的tslib的文件都copy到你所掛載的根文件下

  1. sudo cp -rf /home/linux/tslib/*       /rootfs/tslib 

第八步:修改/rootfs/tslib下的etc目錄中ts.cong文件

vi ts.conf   將第二行的#module_raw input修改成module_raw input 注意一定要頂格寫否則程序執行時會發生讀取ts.conf錯誤

二、Qtopia移植

第一步:解壓qtopia-opensource-src-4.2.0.tar.gz

  1. tar zxvf qtopia-opensource-src-4.2.0.tar.gz  
  2. mv qtopia-opensource-4.2.0 source 

第二步:創建在source同級目錄下創建目錄target

  1. mkdir target 

第三步:修改源碼包
 

1、復制

  1. # cd source  
  2. # cd src/libraries/qtopiabase/  
  3. # cp custom-linux-cassiopeia-g++.h custom-linux-arm-g++.h  
  4. # cp custom-linux-cassiopeia-g++.cpp custom-linux-arm-g++.cpp 

2、修改時區信息

  1. # vi src/libraries/qtopia/qtimezone.cpp 

將114行的 /usr/share/zoneinfo/ 改為/Qtipia/zoneinfo/ ,保存退出。

  1. # vi src/settings/systemtime/settime.cpp 

將318行的 /usr/share/zoneinfo/ 改為/Qtipia/zoneinfo/ ,保存退出。

3、裁減Qtopia core的庫(下列操作后在屏幕上會出現一個光標,否則沒有光標根據需求配置)

  1. # vi qtopiacore/qconfig-qpe.h 

首先注釋掉關于鼠標光標的宏定義,讓程序運行時,觸摸屏中央有光標出現:

  1. // Qtopia Core  
  2. /*  
  3. #ifndef QT_NO_QWS_CURSOR  
  4. # define QT_NO_QWS_CURSOR  
  5. #endif  
  6. */  
  7. /*  
  8. #ifndef QT_NO_QWS_MOUSE  
  9. # define QT_NO_QWS_MOUSE  
  10. #endif  
  11. #ifndef QT_NO_QWS_MOUSE_AUTO  
  12. # define QT_NO_QWS_MOUSE_AUTO  
  13. #endif  
  14. */ 

其它宏定義根據需要進行注釋。
(1) 保存后將qconfig-qpe.h拷貝到global目錄。

  1. # cp qtopiacore/qconfig-qpe.h qtopiacore/qt/src/corelib/global/qconfig-qpe.h 

 (必須進行的操作)

(2)注釋掉其他文件里的QT_NO_QWS_CURSOR的定義

  1. # vi qtopiacore/qt/src/corelib/global/qfeatures.h 

注釋掉如下內容:
 

  1. /*  
  2. #if !defined(QT_NO_QWS_CURSOR) && (defined(QT_NO_CURSOR))  
  3.  #define QT_NO_QWS_CURSOR  
  4. #endif  
  5. */ 

(3)保存退出。

  1. # vi qtopiacore/qt/src/corelib/global/qglobal.h 

 注釋掉以下內容:

  1. //# define QT_NO_QWS_CURSOR 

4、下面是對編譯過程中出現的錯誤進行的一些修改:

(1)vim qtopiacore/qt/tools/qvfb/qvfbshmem.cpp

注釋掉asm/page.h

  1. //#include <asm/page.h> 

(2)vim qtopiacore/qt/tools/qvfb/qvfbmmap.cpp

注釋掉asm/page.h

  1. //#include <asm/page.h> 

并修改如下內容

  1. unsigned char *data;  
  2. uint data_offset_value = sizeof(QVFbHeader);  
  3. if (data_offset_value % PAGE_SIZE)  
  4. data_offset_value += PAGE_SIZE - (data_offset_value % PAGE_SIZE); 

為:

  1. unsigned char *data;  
  2. uint data_offset_value = sizeof(QVFbHeader);  
  3. const int page_size = getpagesize();  
  4. if (data_offset_value % page_size)  
  5. data_offset_value += page_size - (data_offset_value % page_size); 

(3)vim src/libraries/qtopiabase/qmemoryfile_unix.cpp +128

修改

  1. f = ::open(tmpFile.toLatin1(), O_CREAT | O_WRONLY); 

為:

  1. f = ::open(tmpFile.toLatin1(), O_CREAT | O_WRONLY ,0777); 

4、修改交叉工具

  1. vim qtopiacore/qt/mkspecs/qws/linux-arm-g++/qmake.conf 

將文件中的arm-linux-***全部修改為arm-softfloat-linux-gnu-**

這樣做的前提是我的交叉工具鏈是arm-softfloat-linux-gnu,如果你的是arm-linux就不用改了。

#p#

第四步:生成Makefile

cd ../target

  1. ../source/configure -release -image /Qtopia -prefix /Qtopia -xplatform   
  2. linux-arm-g++ -arch arm -no-qvfb -displaysize 320x240 -no-modem -extra-qtopiacore-config "  
  3. -release -xplatform qws/linux-arm-g++ -embedded arm -qconfig qpe -depths 4,8,16,32   
  4. -qt-sql-sqlite -no-mouse-linuxtp -qt-mouse-tslib -I/home/linux/tslib/include   
  5. -L/home/linux/tslib/lib " 2>../configureERR.tx 

注意:這里/Qtopia是最后Qtopia的安裝路徑,安裝到主機的某個路徑下,最終這個路徑和目標板上的路徑必須一致。

主要配置選項解說如下:

  1. -xplatform linux-arm-g++ -arch arm 

目標平臺為arm-linux,體系結構為arm。

  1. -no-qvfb 

目標平臺已支持framebuffer,因而不使用虛擬幀緩沖。

  1. -extra-qtopiacore-config 

為Qtopia core 配置選項。

 

  1. -xplatform qws/linux-arm-g++ -embedded arm 

目標平臺編譯配置文件使用qtopiacore/qt/mkspecs/qws/linux-arm-g++目錄下的配置文件,嵌入式平臺為arm。

  1. -qconfig qpe 

使用配置文件qconfig-qpe.h,若使用qconfig-large.h配置文件,則使用-qconfig large選項。

  1. -qt-sql-sqlite 

數據庫支持Sqlite。

  1. -qt-kbd-usb 

鍵盤支持usb協議。

  1. -no-mouse-linuxtp -qt-mouse-tslib  
  2. -I/home/linux/tslib/include -L/home/linux/tslib/lib 

觸摸屏協議不支持linuxtp,支持tslib,并在后面添加上剛才編譯的tslib的頭文件和庫。

2>../qtopiaconfigureERR.txt

最后將配置過程中的錯誤輸出到qtopiaconfigureERR.txt文件中。

第五步:make

第六步:make install

第七步:cp source/etc/zoneinfo /Qtopia/ -a

第八步:將安裝和的目錄考到nfsroot目錄下

cp /Qtopia /rootfs -a

第九步:配置目標板環境變量腳本

vim qtopia.sh

添加如下內容:

#!/bin/sj
   

  1. export TSLIB_ROOT=/tslib  
  2.     export TSLIB_TSDEVICE=/dev/event0  
  3.     export LD_LIBRARY_PATH=/tslib/lib:$LD_LIBRARY_PATH  
  4.     export QWS_SIZE=320x240 
  5.     export TSLIB_FBDEVICE=/dev/fb0  
  6.     export TSLIB_PLUGINDIR=/tslib/lib/ts  
  7.     export TSLIB_CONSOLEDEVICE=none 
  8.     export TSLIB_CONFFILE=/tslib/etc/ts.conf  
  9.     export POINTERCAL_FILE=/etc/pointercal  
  10.     export QWS_MOUSE_PROTO=Tslib:/dev/event0  
  11.     export TSLIB_CALIBFILE=/etc/pointercal  
  12.     export TSLIB_TSEVENTTYYPE=H3600i 
  13.     export LD_LIBRARY_PATH=/Qtopia/lib:$LD_LIBRARY_PATH  
  14.     export QWS_SW_CURSOR  
  15.     export set HOME=/root  
  16.     export set QPEDIR=/Qtopia  
  17.     export set QWS_KEYBOARD="TTY:/dev/tty1""  
  18.     export QWS_DISPLAY="LinuxFb:mmWidth35:mmHeight45:0" 

三、啟動Qtopia

第一步:目標板開機

第二步:運行腳本qtopia.sh

./qtopia.sh

第三步:運行qpe

/Qtopia/bin/qpe

這個時候就能看到一個漂亮的界面了。

網關配置

ifconfig eth0 192.168.0.165 netmask 255.255.255.0

【編輯推薦】

Linux操作系統環境建立編譯執行

QML教程:Qt-Quick六大開源組件

ubuntu下proftp的編譯、安裝與測試

詳解QtSpeech Qt文本語音輸出TTS API

Qt開發者系列之一:來自瑞典的QML狂熱愛好者

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

2011-06-09 15:18:07

QT 編譯

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-06-09 14:56:53

QT 編譯

2011-06-28 13:47:37

Embedded QT ARM

2011-06-13 15:33:24

Qt Qt 4.5

2011-07-05 14:06:17

編譯 Qt

2011-06-20 16:38:33

Qt QWidget Qt4.5

2011-06-30 13:37:29

MFC Qt 多國語

2011-06-21 16:51:21

Qt 靜態 編譯

2009-03-11 09:09:12

Qt開發工具SDK

2011-06-24 13:38:32

QT 編譯 安裝

2011-06-09 16:47:56

Qt 嵌入式

2011-09-09 17:59:26

QT Widget

2011-07-01 15:04:49

Qt 內省

2011-06-29 10:30:04

VC2005 QT QT 4.4.3

2011-06-23 15:32:05

Qt Windows消息

2011-07-01 14:39:08

Qt Quick

2011-06-27 09:15:21

QT Creator

2011-06-16 09:10:49

Qt Symbian Nokia

2011-06-30 14:44:16

QT Qvfb Embedded
點贊
收藏

51CTO技術棧公眾號

激情六月婷婷久久| 不卡av一区二区| 亚洲国产日日夜夜| 国产精品乱码视频| 久久国产视频精品| 国产成人精品一区二区免费看京| 欧美日韩在线播放三区四区| 4444在线观看| 亚洲av成人精品毛片| 久久精品一区二区国产| 中日韩美女免费视频网站在线观看| 狠狠干狠狠操视频| 乱插在线www| 99re视频这里只有精品| 国产精品久久电影观看| 伊人在线视频观看| 露出调教综合另类| 欧美日韩一区二区在线观看| www.av蜜桃| 香蕉视频网站在线观看| 91在线视频免费91| 亚洲一区久久久| 国产精品乱码一区二区视频| 欧美久久一区| 亚洲天堂一区二区三区| 精品伦一区二区三区| 久久夜夜操妹子| 一区二区三区在线不卡| 视频一区二区三| 午夜视频在线播放| 国产一区在线精品| 国产精品视频区| 69亚洲精品久久久蜜桃小说| 一区二区日韩免费看| 欧美成人精品三级在线观看| 秋霞网一区二区三区| 人人香蕉久久| 日韩午夜激情电影| 波多野结衣国产精品| 蜜桃视频成人m3u8| 91久久奴性调教| www..com日韩| 黄色成人在线网| 亚洲精品中文字幕在线观看| 亚洲成人午夜在线| 国产系列在线观看| 久久综合精品国产一区二区三区| 国产精品传媒毛片三区| www.黄色av| 精品一区二区免费看| 国产精品免费视频久久久| 国产高潮久久久| 亚洲精品乱码| 高清一区二区三区日本久| 欧美日韩在线视频免费播放| 欧美独立站高清久久| 中文字幕v亚洲ⅴv天堂| 色一情一交一乱一区二区三区| 露出调教综合另类| 亚洲国产精品福利| 国产精品久久久免费观看| 给我免费播放日韩视频| 精品剧情在线观看| 美女网站视频在线观看| 97se亚洲| 亚洲国产成人精品久久| 男男做爰猛烈叫床爽爽小说| 国产精品网站在线看| 亚洲国产精品va在线观看黑人| 亚洲图片欧美另类| 国产精品欧美大片| 亚洲美女性生活视频| www.久久av| av在线不卡顿| 久久伊人精品天天| 激情小说中文字幕| 精品av久久久久电影| 久久久久久久久久国产精品| 国产情侣自拍av| 天堂蜜桃一区二区三区 | 黄色网址在线免费观看| 亚洲欧美综合色| 男人添女人下部视频免费| 国产精选在线| 欧美三级一区二区| 日本一区二区三区在线免费观看| 成人三级毛片| 亚洲一品av免费观看| 放荡的美妇在线播放| 伊人影院久久| 国产精品视频自拍| 亚洲爱情岛论坛永久| 91小视频在线观看| 亚洲精品免费在线看| 神马午夜伦理不卡 | 亚洲图片欧美在线| 成人免费av资源| 亚洲高清在线观看一区| 青草在线视频| 欧美在线视频不卡| 精品国产一二区| 国内精品视频在线观看| 欧美乱妇40p| 亚洲电影在线观看| 在线观看亚洲色图| 91久久精品无嫩草影院| 日韩欧美中字| 在线视频免费一区二区| www.色小姐com| 久久先锋影音| 国产精品国产一区二区| yourporn在线观看中文站| 一区二区三区在线视频免费观看 | 欧美成人三级伦在线观看| 欧美色蜜桃97| 91精品国产高清久久久久久91| 一二三区中文字幕| 久久久亚洲午夜电影| 成年女人18级毛片毛片免费| 免费视频成人| 国产亚洲欧美日韩美女| 日本视频免费在线| 国产超碰在线一区| 中文字幕成人一区| 日本欧美不卡| 国产视频精品自拍| 日本少妇久久久| 国产乱妇无码大片在线观看| 亚洲欧美日韩国产yyy| 成人爽a毛片免费啪啪| 精品99久久久久久| 免费毛片在线播放免费| 狠狠久久亚洲欧美| 亚洲精品在线视频观看| 国产综合av| 亚洲免费成人av电影| 欧美成人精品欧美一级乱黄| 国产成人av电影在线| 色一情一乱一乱一区91| 国产精品18| 久久久精品免费视频| 亚洲一二区视频| 亚洲国产成人午夜在线一区| 国产精品人人爽人人爽| 国产va免费精品观看精品视频| 国语自产精品视频在免费| www.蜜桃av.com| 亚洲自拍偷拍九九九| 男人女人拔萝卜视频| 欧美女人交a| 99电影在线观看| 美女精品导航| 日韩av在线网| 亚洲第一在线播放| 久久先锋影音av| 亚洲熟妇av一区二区三区| 蜜桃视频欧美| 国产精品黄色av| av在线三区| 欧美撒尿777hd撒尿| 美女福利视频网| 国产专区欧美精品| 无码人妻精品一区二区蜜桃百度| 秋霞午夜一区二区三区视频| 欧美日韩xxx| 日本精品一二区| 日韩欧美在线观看| 免费福利视频网站| 国内外成人在线| 青青草免费在线视频观看| 一区二区三区在线资源| 91精品国产91久久久久久吃药 | 日韩中文字幕在线视频| 97人妻精品一区二区三区动漫| 亚洲精品乱码久久久久久黑人| 欧美图片自拍偷拍| 亚洲资源av| 亚洲精品在线观看免费| www.神马久久| 国产成人欧美在线观看| 快射av在线播放一区| 亚洲成人精品久久久| 久久久久久久久久成人| 日韩理论片一区二区| 玖玖爱在线精品视频| 日本在线播放一区二区三区| 影音先锋成人资源网站| 亚洲精品aaaaa| 成人精品久久久| а√天堂中文资源在线bt| 揄拍成人国产精品视频| 成人免费公开视频| 欧美性猛交xxxx乱大交退制版| 日日骚一区二区三区| 久久老女人爱爱| 精品国产鲁一鲁一区二区三区| 99pao成人国产永久免费视频| 五月天亚洲综合情| 国产精品极品国产中出| 国产精品一区二区三区毛片淫片| 成年人黄色大片在线| 自拍偷拍亚洲一区| 亚州av在线播放| 91麻豆精品国产91久久久久久 | 久久99久久精品国产| 日本在线一区二区| 欧美夜福利tv在线| av网站网址在线观看| 国产一区二区三区在线免费观看 | 亚洲天堂av综合网| 亚洲av无码一区二区三区性色| 91久久精品国产91性色tv| 亚洲精品在线观看av| 亚洲视频在线一区观看| 免费看污片的网站| 91网址在线看| 蜜臀视频在线观看| 国产麻豆成人精品| 色播五月综合网| 日韩黄色片在线观看| 无码专区aaaaaa免费视频| 欧美激情综合色综合啪啪| 亚洲欧美在线网| 国产免费播放一区二区| 久久青青草综合| 国产精品一区二区三区美女| 99精品在线直播| 美女精品久久| 91久久国产精品91久久性色| 国产福利91精品一区二区| 2019国产精品自在线拍国产不卡| 手机在线免费观看av| 裸体女人亚洲精品一区| 黄色免费在线看| www国产精品视频| 最新av网站在线观看| 一区二区三区在线播放欧美| 国产福利在线视频| 国产一区二区三区在线| 青春草在线观看 | 在线看日本不卡| 99久久久久久久久| 色94色欧美sute亚洲13| jizz国产在线观看| 在线观看精品一区| 国产裸体美女永久免费无遮挡| 色天使色偷偷av一区二区| 黄瓜视频在线免费观看| 色94色欧美sute亚洲13| 一级黄色在线观看| 欧美日韩一区久久| 91成人在线免费| 91精品国产综合久久精品| 99热这里只有精| 欧美成人精品二区三区99精品| 性色av蜜臀av| 亚洲福利在线播放| 欧美女子与性| 中文字幕精品久久久久| 91社区在线观看播放| 久久久精品久久| 激情av在线| 欧美又大又粗又长| 日韩视频网站在线观看| 国产精品男人的天堂| 中文字幕综合| 岛国一区二区三区高清视频| 老司机成人在线| 日韩经典在线视频| 国产精品久久观看| 日韩精品在线中文字幕| 久久精品人人| 91香蕉视频免费看| proumb性欧美在线观看| 97伦伦午夜电影理伦片| 国产精品情趣视频| 久久综合综合久久| 一本色道**综合亚洲精品蜜桃冫| 欧美人一级淫片a免费播放| 欧美日韩国产123区| 亚洲男人第一天堂| 亚洲色图15p| av网站大全在线| 97视频在线观看播放| 成人福利一区二区| 福利视频久久| 欧美一区二区三区高清视频| 一二三在线视频| 日韩电影在线一区二区三区| 国产又粗又猛又爽又黄| 久久一夜天堂av一区二区三区| 中文字幕第69页| 亚洲sss视频在线视频| 国产情侣免费视频| 精品少妇一区二区三区视频免付费 | 亚洲第一综合天堂另类专| 国产无套粉嫩白浆在线2022年| 欧美成人免费大片| 欧美va在线观看| 国产一区二区三区四区五区在线| 日韩免费视频| 国产成人精品视频免费看| 国产呦萝稀缺另类资源| 久久亚洲AV无码专区成人国产| 一区二区三区视频在线看| 日本精品入口免费视频| 亚洲精品xxx| 3d玉蒲团在线观看| 国产精品自拍偷拍| 九九视频免费观看视频精品 | 日韩国产高清在线| 秘密基地免费观看完整版中文| 国产精品妹子av| 无码aⅴ精品一区二区三区| 亚洲高清一二三区| 中文国产字幕在线观看| 国产剧情日韩欧美| 色综合中文网| 日本精品免费在线观看| 成人黄色在线看| 欧美成人国产精品高潮| 欧美日本在线一区| www.视频在线.com| 欧美一级黄色网| 欧美激情影院| 日韩中字在线观看| 大胆亚洲人体视频| 国产又粗又硬又长又爽| 欧美日韩高清影院| 自拍视频在线网| 国产精品久久久久久久久免费 | 久久国产视频精品| 亚洲电影在线看| 国产乱码在线| 成人高清在线观看| 66视频精品| 91pony九色| 综合久久给合久久狠狠狠97色 | 国产91av视频在线观看| 日日摸夜夜添夜夜添精品视频 | 亚洲成年人网站在线观看| 国产99视频在线| 不卡毛片在线看| 欧美1区2区3| 99er在线视频| 成人一二三区视频| 日本熟女一区二区| 亚洲国产精品嫩草影院久久| 免费看男女www网站入口在线| 国产原创精品| 亚洲视频大全| 国产一区二区三区四区五区六区 | 欧美中文字幕视频| 丝袜美腿综合| 日本一极黄色片| 中文字幕免费不卡| 曰批又黄又爽免费视频| 日韩在线观看免费高清完整版| 99国内精品久久久久| 肉大捧一出免费观看网站在线播放| 国产精品一卡二| 日韩精品成人在线| 亚洲欧洲成视频免费观看| 日韩网站中文字幕| 中文字幕一区二区三区四区五区 | 亚洲免费中文| 中文字幕av久久爽一区| 欧美人体做爰大胆视频| 国产在线xxx| 欧美日韩在线精品| 黄页视频在线91| 国产精品第56页| 一区二区三区www| 国产美女视频一区二区| www.av片| 国产日产欧美一区| 国产成人三级一区二区在线观看一| 欧美国产乱视频| 国产免费av一区二区三区| www.偷拍.com| 欧美小视频在线| 黄色一级大片在线免费看产| 国产日韩一区二区三区| 日av在线不卡| 久久精品国产亚洲av高清色欲| 亚洲人成电影网站色www| 成人在线日韩| 18岁网站在线观看| 综合久久久久久| 免费在线观看一级毛片| 亚洲精品欧美日韩专区| 肉丝袜脚交视频一区二区| 青青青在线免费观看| 亚洲午夜未满十八勿入免费观看全集| 粉嫩av国产一区二区三区| 日韩av在线第一页| 尤物在线观看一区| 岛国视频免费在线观看| 国产精品永久入口久久久| 麻豆精品国产传媒mv男同|