解析 Ubuntu 10.10 安裝 QT Eembedded 開發(fā)環(huán)境
本文介紹的是Ubuntu 10.10 安裝 QT Eembedded 開發(fā)環(huán)境 ,在壇子里逛了一圈,發(fā)現(xiàn)很多相關(guān)的內(nèi)容,本人認(rèn)為本篇還是可以的,與大家分享一下,不多說,我們先來看內(nèi)容。對(duì)于安裝QT,一直糾結(jié)了很久很久。。。折騰了很久很久,連續(xù)一周,一天到晚都在摸索,不停地編譯配置,不停地重做、撤銷,到目前為止還不知道問題有沒有徹底解決,先記錄一下,后續(xù)遇到問題再修正今天的文章。
我的安裝平臺(tái):
1.虛擬機(jī)VMware 7.0
2.嵌入式系統(tǒng)Ubuntu 10.10
2.交叉編譯工具:arm-linux-gcc-4.3.2
3.QT安裝包:
1)QT-X11-SDK簡稱做QT-X11:qt-sdk-linux-x86-opensource-2010.05.1.bin (其實(shí)就是Qt Creator ?。?/p>
這是直接下載的編譯好的二進(jìn)制SDK包;其實(shí)也可以下載源代碼包src然后再編譯安裝,網(wǎng)上有好多文章都是由源代碼包編譯后再安裝的,在NOKIA官網(wǎng)上4.7.2版本的沒有發(fā)現(xiàn)有源代碼包。但是安裝二進(jìn)制文件可以節(jié)省編譯時(shí)間和空間。安裝好二進(jìn)制文件之后仍需要獨(dú)立編譯QVFB。其實(shí)這個(gè)sdk包是QT Creator!一個(gè)IDE集成開發(fā)環(huán)境!可以省去你在終端中用命令行來編譯和調(diào)試!但是有時(shí)候你也許會(huì)發(fā)現(xiàn)用命令行更爽!
2)Qt Embedded for Linux簡稱做QTE:qt-everywhere-opensource-src-4.7.2.tar.gz是源代碼包;
說明:其中QT-X11可以產(chǎn)生Qt開發(fā)工具,如qmake 、designer等等,最重要的是可以得到qvfb(因?yàn)閟dk中并沒有為什么編譯好,所以qvfb的編譯安裝需要我們自己進(jìn)行參見下一篇)。嵌入式的開發(fā)有了qvfb,就可以不需要實(shí)際的開發(fā)板,也可以開發(fā)Qt應(yīng)用程序。QTE版本就是專門用于嵌入式開發(fā)的版本。所以我們需要分別編譯運(yùn)行于X86架構(gòu)和arm架構(gòu)的QT!
這兩個(gè)安裝包都可以直接在xp環(huán)境下下載,下載較快,然后放到虛擬機(jī)Ubuntu里面。
下面開始安裝:
1.建立目錄
首先在/home/fengchao目錄下新建/qtenv文件夾為了文件管理方便,再在qtenv下分別建立三個(gè)文件夾:arm,x86,qtsdk;使用mkdir命令或者直接在目錄下右鍵新建。
qtsdk用于安裝QT-X11;
arm用于存放QTE的arm版本;
x86用于存放QTE的x86版本。
2.安裝QT-X11:
- qt-sdk-linux-x86-opensource-2010.05.1.bin放在/qtsdk文件夾中
- $ cd ~/qtenv/qtsdk
- $ chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin
- $ ./qt-sdk-linux-x86-opensource-2010.05.1.bin
之后開始圖形化的安裝,像在xp環(huán)境安裝軟件一樣,然后選擇安裝目錄為/home/fengchao/qtenv/qtsdk,一路NEXT。
3.解壓QTE源代碼包
1)將源代碼包分別復(fù)制到/arm和/x86下:
直接在目錄下復(fù)制即可,不必使用命令行操作。
2)解壓縮:
- $ cd qtenv/arm
- $ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz
- (解壓gz文件用xzvf,解壓bz2 文件用xjvf)
- $ mv qt-everywhere-opensource-src-4.7.2 arm
- (把/qt-everywhere-opensource-src-4.7.2目錄下的文件放到/arm文件夾下,即改名為arm,方便輸入)
- $ cd qtenv/x86
- $ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz
- (解壓gz文件用xzvf,解壓bz2 文件用xjvf)
- $ mv qt-everywhere-opensource-src-4.7.2 x86
- (把/qt-everywhere-opensource-src-4.7.2目錄下的文件放到/x86文件夾下,即改名為x86,方便輸入)
4.解壓縮后分別針對(duì)arm平臺(tái)和x86平臺(tái)進(jìn)行編譯配置
編譯arm版本的QT
- $ cd ~/qtenv/arm
- $ ./configure -prefix $HOME/qtenv/arm -embedded arm -nomake docs -nomake demo -nomake examples
- $ sudo make
- $ sudo make install
編譯x86版本的QT
- $ cd ~/qtenv/x86
- $ ./configure -prefix $HOME/qtenv/x86 -embedded x86 -nomake docs -nomake demo -nomake examples -qvfb
- $ sudo make
- $ sudo make install
sudo 獲得root權(quán)限,否則可能出錯(cuò)。此過程花費(fèi)過多時(shí)間,大概幾個(gè)小時(shí)左右,視電腦配置而定。
此編譯工程中,編譯arm版本的工具是arm-linux-g++、編譯x86版本的工具是g++;編譯的時(shí)候注意查看是否正確!我就犯過這樣的錯(cuò)誤,把上面的編譯指令輸錯(cuò)!導(dǎo)致后面更多的莫名其妙的錯(cuò)誤!不得不重新來過!
#p#
技巧:
1)configure之后想清除重新來過,使用make confclean,再重新configure即可
2)make之后想清除重新來過,使用make clean,再make
5.***是環(huán)境變量的設(shè)置
這個(gè)也是非常重要的一步,前面說的目錄管理,在這一步顯的非常重要了
我的處理方法是:在各文件夾下新建shell腳本文件。
1)QT-X11:
- $ cd qtenv/qtsdk
- $ sudo gedit setenv.sh
添加如下內(nèi)容:
- PATH=/home/fengchao/qtenv/qtsdk/qt/bin:$PATH
- LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/lib:$LD_LIBRARY_PATH
- export PATH
- export LD_LIBRARY_PATH
保存退出,文件放在qtenv/qtsdk下!
2)x86:
- $ cd qtenv/x86
- $ sudo gedit setenv.sh
添加如下內(nèi)容:
- QTEDIR=/home/fengchao/qtenv/qtsdk/x86
- PATH=/home/fengchao/qtenv/qtsdk/x86/bin:$PATH
- LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/x86/lib:$LD_LIBRARY_PATH
- export QTEDIR
- export PATH
- export LD_LIBRARY_PATH
保存退出文件放在qtenv/x86下!
3)ARM
- $ cd qtenv/arm
- $ sudo gedit setenv.sh
添加如下內(nèi)容:
- QTEDIR=/home/fengchao/qtenv/qtsdk/arm
- PATH=/home/fengchao/qtenv/qtsdk/arm/bin:$PATH
- LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/arm/lib:$LD_LIBRARY_PATH
- export QTEDIR
- export PATH
- export LD_LIBRARY_PATH
保存退出文件放在qtenv/arm下!
在運(yùn)行的時(shí)候分別運(yùn)行對(duì)應(yīng)的腳本即可,比如我們要用QT-X11:
- cd /qtenv/qtsdk
- source setenv.sh
然后就可以用qmake designer等工具了.
注意:通過運(yùn)行這幾個(gè)shell腳本來改變環(huán)境變量。整個(gè)環(huán)境變量的改變只有在當(dāng)前的終端下才有效。當(dāng)打開其他終端后,必須重新執(zhí)行對(duì)應(yīng)的shell腳本。
對(duì)應(yīng)所在的路徑,在大家的機(jī)器上可能不盡相同,領(lǐng)會(huì)意思就行。
6.下面如何編譯QVFB?
請(qǐng)參考:詳解在Ubuntu Linux下獨(dú)立編譯QVFB
小結(jié):關(guān)于Ubuntu 10.10 安裝 QT Eembedded 開發(fā)環(huán)境的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!