Qt Embedded 環(huán)境安裝
Qt Embedded是挪威trolletch公司的圖形化界面開(kāi)發(fā)工具Qt的嵌入式版本,它通過(guò)Qt API與linux I/O以及Framebuffer直接交互,擁有較高的運(yùn)行效率,而且整體采用面向?qū)ο缶幊蹋瑩碛辛己玫伢w系架構(gòu)和編程模式,Qt/embedded和Qt一樣,在4.5版本之后提供了三種不同的授權(quán)協(xié)議GPL, LGPL和Commercial。
Qt Embedded目前的版本通常為4.5,提供了兩個(gè)版本,分別是Qt for Embedded Linux,以及Qt for Windows CE。
一、環(huán)境準(zhǔn)備
安裝前所做的準(zhǔn)備,下面這些軟件可以免費(fèi)從trolltech的WEB或FTP服務(wù)器上下載
tmake 1.11 或更高版本; (生成Qt/Embedded應(yīng)用工程的Makefile文件)
Qt/Embedded 2.3.7 (Qt/Embedded 安裝包)
Qt 2.3.2 for X11; (Qt的X11版的安裝包, 它將產(chǎn)生x11開(kāi)發(fā)環(huán)境所需要的兩個(gè)工具)
1、安裝tmake
在Linux 命令模式下運(yùn)行以下命令:
- tar xfz tmake-1.11.tar.gz
- export TMAKEDIR=$PWD/tmake-1.11
- export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
- export PATH=$TMAKEDIR/bin:$PATH
2. 安裝Qt/Embedded 2.3.7
在Linux 命令模式下運(yùn)行以下命令:
- tar xfz qt-embedded-2.3.7.tar.gz
- cd qt-2.3.7
- export QTDIR=$PWD
- export QTEDIR=$QTDIR
- export PATH=$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
- ./configure -qconfig -qvfb -depths 4,8,16,32
- make sub-src
- cd ..
上述命令 ./configure -qconfig -qvfb -depths 4,8,16,32 指定Qt 嵌入式開(kāi)發(fā)包生成虛擬緩沖幀工具qvfb,并支持4,8,16,32 位的顯示顏色深度。另外我們也可以在configure 的參數(shù)中添加-system-jpeg 和gif,使Qt/Embedded 平臺(tái)能支持jpeg、gif格式的圖形。
上述命令 make sub-src 指定按精簡(jiǎn)方式編譯開(kāi)發(fā)包,也就是說(shuō)有些Qt 類(lèi)未被編譯。Qt 嵌入式開(kāi)發(fā)包有5 種編譯范圍的選項(xiàng),使用這些選項(xiàng),可控制Qt 生成的庫(kù)文件的大小,但是您的應(yīng)用所使用到的一些Qt 類(lèi)將可能因此在Qt 的庫(kù)中找不到鏈接。編譯選項(xiàng)的具體用法可運(yùn)行./configure -h(huán)elp 命令查看。
3. 安裝Qt/X11 2.3.2
在Linux 命令模式下運(yùn)行以下命令:
- tar xfz qt-x11-2.3.2.tar.gz
- cd qt-2.3.2
- export QTDIR=$PWD
- export PATH=$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
- ./configure -no-opengl
- make
- make -C tools/qvfb
- mv tools/qvfb/qvfb bin
- cp bin/uic $QTEDIR/bin
- cd ..
根據(jù)開(kāi)發(fā)者本身的開(kāi)發(fā)環(huán)境,也可以在configure 的參數(shù)中添加別的參數(shù),比如-no-opengl 或-no-xfs,可以鍵入./configure -help 來(lái)獲得一些幫助信息。如果Qt/Embedded 的應(yīng)用是在UNIX 平臺(tái)下開(kāi)發(fā)的話,那么它就可以在開(kāi)發(fā)的機(jī)器上以一個(gè)獨(dú)立的控制臺(tái)或者虛擬緩沖幀的方式來(lái)運(yùn)行,對(duì)于后者來(lái)說(shuō),其實(shí)是有一個(gè)X11的應(yīng)用程序虛擬了一個(gè)緩沖幀。通過(guò)指定顯示設(shè)備的寬度,高度和顏色深度,虛擬出來(lái)的緩沖幀將和物理的顯示設(shè)備在每個(gè)像素上保持一致。這樣每次調(diào)試應(yīng)用時(shí)開(kāi)發(fā)人員就不用總是刷新嵌入式設(shè)備的FLASH 存儲(chǔ)空間,從而加速了應(yīng)用的編譯、鏈接和運(yùn)行周期。
運(yùn)行Qt 的虛擬緩沖幀工具的方法是:在Linux 的圖形模式下運(yùn)行命令:qvfb (回車(chē))當(dāng)Qt 嵌入式的應(yīng)用程序要把顯示結(jié)果輸出到虛擬緩沖幀時(shí),我們?cè)诿钚羞\(yùn)行這個(gè)程序時(shí),在程序名后加上-qws 的選項(xiàng)。例如: $> hello -qws
二、QT/E的安裝。
在本機(jī)中安裝了包括QT4.0.1(WINDOWS版本)以及QT/E2。3。7(LINUX版本)。
QT/E我安裝在我的虛擬機(jī)中。因?yàn)镼T/E2.3.7的版本問(wèn)題,其適宜在REDHAT9。0版本(或更低版本)下安裝,否則安裝不成功。
QT/E安裝過(guò)程復(fù)雜,具體細(xì)節(jié)可以參考下面這篇文章?!禥t/Embedded開(kāi)發(fā)環(huán)境建立的過(guò)程》
本機(jī)下虛擬機(jī)中QT/E安裝路徑為:/home/wangxl/QTE/qt-2.3.7
QT/X11安裝路徑為:/home/wangxl/QTE/qt-2.3.2
Tmake安裝路徑為:/home/wangxl/QTE/Tmake-1.8
QT/E下載地址為:ftp://ftp.rediris.es/mirror/Qt/source/
Tmake下載地址為:ftp://ftp.trolltech.com/freebies/tmake/
三、QT與QT/E以及QT3與QT4之間的區(qū)別
相對(duì)來(lái)說(shuō)QT與QT/E的語(yǔ)法一樣,所不同之處在庫(kù)類(lèi)大小或者庫(kù)類(lèi)函數(shù)大小不同而已。QT/E相對(duì)于QT來(lái)說(shuō),不具有少數(shù)類(lèi)或者少數(shù)函數(shù)的支持。具體QT/E是否包含某個(gè)類(lèi)或者包含某個(gè)類(lèi)中的函數(shù),我的方法是在QT/E安裝目錄下的include文件夾中去查找。
QT3和QT4有很多不同點(diǎn),主要不同也是在于庫(kù)類(lèi)以及支持函數(shù)有所變化,比如,有些QT3中的函數(shù),在QT4中被其他函數(shù)名所代替,因此很多QT4程序在QT3環(huán)境下無(wú)法執(zhí)行。QT/E2.3.7與QT3基本相同,除了我前面提到的QT與QT/E的差別。
#p#
四、QT/E編譯與執(zhí)行。
1.在QT/E編譯與執(zhí)行前要先設(shè)置TMAKE與QT/E LIB環(huán)境,具體方法如下:
- [root@localhost tmake-1.8]# export TMAKEDIR=$PWD
- [root@localhost tmake-1.8]# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
- [root@localhost tmake-1.8]# export PATH=$TMAKEDIR/bin:$PATH
- [root@localhost qt-2.3.7]# export QTDIR=$PWD
- [root@localhost qt-2.3.7]#export QTEDIR=$QTDIR
- [root@localhost qt-2.3.7]#export PATH=$QTDIR/bin:$PATH
- [root@localhost qt-2.3.7]#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2.如果你是用DESIGNER工具設(shè)計(jì)的界面(后面有講),則要將*.ui文件轉(zhuǎn)換成*.h文件和*.cpp文件。轉(zhuǎn)換方法如下:
- uic –o test.h test.ui
- uic –o test.cpp –i test.h test.ui
3.編寫(xiě)一個(gè)*.pro文件(用來(lái)生成Makefile文件用),該文件格式比較固定。
如test.pro文件基本格式如下(以test.cpp ,test.h main.cpp為例子):
- EMPLATE = app
- CONFIG += qt warn_on release
- HEADERS = test.h
- SOURCES = test.cpp \
- main.cpp
- TARGET = hello
- DEPENDPATH=/home/wangxl/QTE/qt-2.3.7/include
- REQUIRES=
4.生成Makefile文件
方法為:tmake –o Makefile test.pro
5 編譯生成可執(zhí)行文件
- make
6 打開(kāi)QVFB
進(jìn)入安裝QT/X11所在目錄, 在BIN目錄下執(zhí)行程序qvfb。有時(shí)候需要修改qvfb執(zhí)行時(shí)的deptb參數(shù)才能夠執(zhí)行QT/E程序。可以直接在QVFB打開(kāi)窗口的Configure彩單項(xiàng)中選擇,也可以用如下命令執(zhí)行QVFB。
- ./qvfb –width ** -height ** -depth **
7.執(zhí)行QT/E程序
如 。/TEST
在QVFB程序打開(kāi)的窗口中將出現(xiàn)TEST程序的顯示 。
五、Qt/e與QT/X11
安裝QT/E的同時(shí)還需要安裝QT/X11與Tmake,Tmake 是用來(lái)幫助生成Makefile文件的。安裝QT/X11主要是向QT/E提供designer工具和qvfb工具的。Designer可以用來(lái)設(shè)計(jì)圖形界面,最后生成.ui文件,可通過(guò)UIC命令轉(zhuǎn)換為相應(yīng)的C++文件。QVFB模擬幀緩沖,提供QT/E程序的顯示平臺(tái)。
六、QT/E 程序ARM 板上執(zhí)行
在我虛擬機(jī)上可以執(zhí)行的QT/E程序不能在ARM板上執(zhí)行,需要對(duì)QT/E進(jìn)行重新編譯,并需要設(shè)置響對(duì)于ARM板系統(tǒng)的編譯環(huán)境,具體方法可以參考我另外的一文《QT/E開(kāi)發(fā)記錄》
七、QT/E支持中文顯示問(wèn)題
QT/E需要字體轉(zhuǎn)換才能顯示中文。具體方法可以參考我另外的一文《QT/E開(kāi)發(fā)記錄》。但是由于缺少UNICODE的QPF文件的字體,中文字大小不均勻問(wèn)題尚沒(méi)解決。
小結(jié):關(guān)于Qt Embedded 環(huán)境安裝,講到這個(gè)地方,希望你能用到!
【編輯推薦】