Qt Embedded 環境安裝
Qt Embedded是挪威trolletch公司的圖形化界面開發工具Qt的嵌入式版本,它通過Qt API與linux I/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好地體系架構和編程模式,Qt/embedded和Qt一樣,在4.5版本之后提供了三種不同的授權協議GPL, LGPL和Commercial。
Qt Embedded目前的版本通常為4.5,提供了兩個版本,分別是Qt for Embedded Linux,以及Qt for Windows CE。
一、環境準備
安裝前所做的準備,下面這些軟件可以免費從trolltech的WEB或FTP服務器上下載
tmake 1.11 或更高版本; (生成Qt/Embedded應用工程的Makefile文件)
Qt/Embedded 2.3.7 (Qt/Embedded 安裝包)
Qt 2.3.2 for X11; (Qt的X11版的安裝包, 它將產生x11開發環境所需要的兩個工具)
1、安裝tmake
在Linux 命令模式下運行以下命令:
- 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 命令模式下運行以下命令:
- 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 嵌入式開發包生成虛擬緩沖幀工具qvfb,并支持4,8,16,32 位的顯示顏色深度。另外我們也可以在configure 的參數中添加-system-jpeg 和gif,使Qt/Embedded 平臺能支持jpeg、gif格式的圖形。
上述命令 make sub-src 指定按精簡方式編譯開發包,也就是說有些Qt 類未被編譯。Qt 嵌入式開發包有5 種編譯范圍的選項,使用這些選項,可控制Qt 生成的庫文件的大小,但是您的應用所使用到的一些Qt 類將可能因此在Qt 的庫中找不到鏈接。編譯選項的具體用法可運行./configure -help 命令查看。
3. 安裝Qt/X11 2.3.2
在Linux 命令模式下運行以下命令:
- 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 ..
根據開發者本身的開發環境,也可以在configure 的參數中添加別的參數,比如-no-opengl 或-no-xfs,可以鍵入./configure -help 來獲得一些幫助信息。如果Qt/Embedded 的應用是在UNIX 平臺下開發的話,那么它就可以在開發的機器上以一個獨立的控制臺或者虛擬緩沖幀的方式來運行,對于后者來說,其實是有一個X11的應用程序虛擬了一個緩沖幀。通過指定顯示設備的寬度,高度和顏色深度,虛擬出來的緩沖幀將和物理的顯示設備在每個像素上保持一致。這樣每次調試應用時開發人員就不用總是刷新嵌入式設備的FLASH 存儲空間,從而加速了應用的編譯、鏈接和運行周期。
運行Qt 的虛擬緩沖幀工具的方法是:在Linux 的圖形模式下運行命令:qvfb (回車)當Qt 嵌入式的應用程序要把顯示結果輸出到虛擬緩沖幀時,我們在命令行運行這個程序時,在程序名后加上-qws 的選項。例如: $> hello -qws
二、QT/E的安裝。
在本機中安裝了包括QT4.0.1(WINDOWS版本)以及QT/E2。3。7(LINUX版本)。
QT/E我安裝在我的虛擬機中。因為QT/E2.3.7的版本問題,其適宜在REDHAT9。0版本(或更低版本)下安裝,否則安裝不成功。
QT/E安裝過程復雜,具體細節可以參考下面這篇文章?!禥t/Embedded開發環境建立的過程》
本機下虛擬機中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之間的區別
相對來說QT與QT/E的語法一樣,所不同之處在庫類大小或者庫類函數大小不同而已。QT/E相對于QT來說,不具有少數類或者少數函數的支持。具體QT/E是否包含某個類或者包含某個類中的函數,我的方法是在QT/E安裝目錄下的include文件夾中去查找。
QT3和QT4有很多不同點,主要不同也是在于庫類以及支持函數有所變化,比如,有些QT3中的函數,在QT4中被其他函數名所代替,因此很多QT4程序在QT3環境下無法執行。QT/E2.3.7與QT3基本相同,除了我前面提到的QT與QT/E的差別。
#p#
四、QT/E編譯與執行。
1.在QT/E編譯與執行前要先設置TMAKE與QT/E LIB環境,具體方法如下:
- [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工具設計的界面(后面有講),則要將*.ui文件轉換成*.h文件和*.cpp文件。轉換方法如下:
- uic –o test.h test.ui
- uic –o test.cpp –i test.h test.ui
3.編寫一個*.pro文件(用來生成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 編譯生成可執行文件
- make
6 打開QVFB
進入安裝QT/X11所在目錄, 在BIN目錄下執行程序qvfb。有時候需要修改qvfb執行時的deptb參數才能夠執行QT/E程序??梢灾苯釉赒VFB打開窗口的Configure彩單項中選擇,也可以用如下命令執行QVFB。
- ./qvfb –width ** -height ** -depth **
7.執行QT/E程序
如 。/TEST
在QVFB程序打開的窗口中將出現TEST程序的顯示 。
五、Qt/e與QT/X11
安裝QT/E的同時還需要安裝QT/X11與Tmake,Tmake 是用來幫助生成Makefile文件的。安裝QT/X11主要是向QT/E提供designer工具和qvfb工具的。Designer可以用來設計圖形界面,最后生成.ui文件,可通過UIC命令轉換為相應的C++文件。QVFB模擬幀緩沖,提供QT/E程序的顯示平臺。
六、QT/E 程序ARM 板上執行
在我虛擬機上可以執行的QT/E程序不能在ARM板上執行,需要對QT/E進行重新編譯,并需要設置響對于ARM板系統的編譯環境,具體方法可以參考我另外的一文《QT/E開發記錄》
七、QT/E支持中文顯示問題
QT/E需要字體轉換才能顯示中文。具體方法可以參考我另外的一文《QT/E開發記錄》。但是由于缺少UNICODE的QPF文件的字體,中文字大小不均勻問題尚沒解決。
小結:關于Qt Embedded 環境安裝,講到這個地方,希望你能用到!
【編輯推薦】