今天,我們的項(xiàng)目基本方案基本確定了——基于安卓系統(tǒng)下位機(jī)軟件開(kāi)發(fā)。盡管并不是基于linux+qt的開(kāi)發(fā),但也是在意料之中的事情,不得不承認(rèn),linux+qt開(kāi)發(fā)需要的硬件tiny6410核心板成本是相當(dāng)高的,而且在核心板的外圍電路設(shè)計(jì)難度也不是一般的大,而且有一定的風(fēng)險(xiǎn)。相比之下,基于安卓系統(tǒng)的下位機(jī)開(kāi)發(fā)的優(yōu)勢(shì)就明顯很多了。
現(xiàn)在來(lái)說(shuō)說(shuō)linux+qt的QT 4.7.0 交叉編譯環(huán)境搭建的過(guò)程嘛。
首先,qt是一個(gè)跨平臺(tái)的應(yīng)用程序框架,那么要在linux進(jìn)行qt4程序的軟件開(kāi)發(fā),我們就需要進(jìn)行交叉編譯。
一、前期軟件準(zhǔn)備:
1 、虛擬機(jī)fedora9。到fedora官網(wǎng)下載,地址 http://fedoraproject.org/ 版本推薦使用fedora9,在vm內(nèi)安裝,并且不安裝vmware tools。
2、qt-creator 圖形化界面開(kāi)發(fā)軟件 。 Linux/X11 32位 的 Qt Creator 1.3.1 二進(jìn)制軟件,qt-creator-linux-x86-opensource-1.3.1.bin 地址 http://qt.nokia.com/downloads/qt-creator-binary-for-linux-x11-32-bit ;
3、交叉編譯器arm-linux-gcc 。下載地址:http://www.arm9.net/download.asp
4、下載tslib1. 地址 :http://www.arm9home.net/job.php?action-download-pid-tpc-tid-5161-aid-1004.html
http://www.arm9home.net/job.php?action-download-pid-tpc-tid-5161-aid-1005.html
記得在windows下先解壓然后再放到linux環(huán)境下。
二、安裝交叉編譯環(huán)境。
在root目錄下建立tmp文件夾,將qt-everywhere-opensource-src-4.6.2.tar.gz直接解壓后復(fù)制2分,分別命名為pc、x86、arm。
1. 編譯 PC 版:
cd 進(jìn)入pc目錄
#./configure //
# gmake
# gmake install
這個(gè)安裝過(guò)程很長(zhǎng),幾乎長(zhǎng)達(dá)四五小時(shí),基本你開(kāi)著虛擬機(jī)你就可以去睡覺(jué)去了,這個(gè)時(shí)候最好而且是不要將虛擬機(jī)最小話,因?yàn)檫@樣的編譯需要耗費(fèi)電腦cpu極容易造成程序未響應(yīng),其中 gmake命令可以和gmake install一起用:gmake&&gmake install 就是等待gmake執(zhí)行完就執(zhí)行g(shù)make install,因?yàn)間make這個(gè)過(guò)程是相當(dāng)長(zhǎng)時(shí)間的。
2. 編譯嵌入式x86版:
進(jìn)入x86目錄
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安裝過(guò)程比較長(zhǎng),沒(méi)有碰到過(guò)錯(cuò)誤。
編譯安裝PC版中的 qvfb:
進(jìn)入pc/tools/qvfb/目錄
#make
編譯完畢,將pc/bin目錄下的qvfb文件復(fù)制到/usr/local/Trolltech/QtEmbedded-4.6.2/bin目錄。
3、編譯tslib對(duì)觸摸屏支持:
tslib1.4.tar.gz,解壓后:
# ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make
# make install
這一步為后面的編譯arm版做準(zhǔn)備。
4. 編譯嵌入式arm版(需要 arm-linux-gcc 的支持):
關(guān)于 arm-linux-gcc 交叉編譯器的安裝就是將其在壓縮包解壓,然后在該目錄下執(zhí)行命令:./configure 然后加上環(huán)境變量 命令:export PATH=/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH
# ./configure
以下為./configure 這個(gè)的命令的參數(shù) ,關(guān)于這些參數(shù)的作用可以執(zhí)行命令 configure -embedded –help 查看
-prefix /usr/local/Trolltech/QtEmbedded-4.6.2-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib
然后
編譯:# gmake
安裝:# gmake install
安裝完成后,在 /usr/local/Trolltech 目錄中有三個(gè)文件夾:Qt-4.6.2、QtEmbedded-4.6.2、QtEmbedded-4.6.2-arm。 這三個(gè)文件夾里面包含了編譯qt4程序的qmake。
到目前為止大概花了十五個(gè)小時(shí),這可是考驗(yàn)?zāi)托牡臅r(shí)刻呀。。!
5、安裝Qt-creator-1.3.1
把下載的qt-creator-linux-x86-opensource-1.3.1.bin文件拷到一個(gè)目錄(如前面的/root/tmp目錄),進(jìn)入目錄:
設(shè)置qt-creator-linux-x86-opensource-1.3.1.bin文件為可執(zhí)行
#chmod +x qt-creator-linux-x86-opensource-1.3.1.bin
安裝:
# ./ qt-creator-linux-x86-opensource-1.3.1.bin
啟動(dòng)安裝界面,默認(rèn)一路Next即可。
*如果我們下載的是Qt的SDK(qt-sdk-linux-x86-opensource-2010.02.bin),這里可以選擇安裝Qt的開(kāi)發(fā)環(huán)境,這樣,在前面安裝pc版Qt那步就可以省了,關(guān)鍵是可以省出很多時(shí)間的。
6、Qt-creator開(kāi)發(fā)環(huán)境的配置
啟動(dòng)Qt-creator。
在Qt-creator菜單欄Tools—〉Options…打開(kāi)Options窗口。
在Options界面左側(cè),點(diǎn)擊Qt4—〉Qt Versions右側(cè)顯示Qt Versions設(shè)置界面。
在Qt Versions界面中點(diǎn)擊那個(gè)藍(lán)色的大“╋”號(hào)圖標(biāo)
在下方Version Name:文本框內(nèi)輸入Qt的版本名,可以隨便填,能區(qū)分各個(gè)版本即可(如pc版取Qt4.6.2-pc、x86版取QtE4.6.2-x86、arm版取QtE4.6.2-arm)。
單擊Qmake Location:右側(cè)Browse…按鈕,在彈出的“Select QMake Executable”窗口中找到對(duì)應(yīng)版本的qmake程序(按照我們前面安轉(zhuǎn)的,pc版路徑:/usr/local/Trolltech/Qt-4.6.2/bin/qmake,x86版路徑:/usr/local/Trolltech/QtEmbedded-4.6.2/bin/qmake,arm版路徑:/usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake),單擊打開(kāi),回到Qt Versions界面。
回到Qt Versions界面,單擊Debugging Helper:右側(cè)Rebuild按鈕,等待片刻,看到Debugging Helper:后出現(xiàn)一個(gè)綠色的“√”即可。
同理完成其他版本的添加。
添加完畢,單擊OK按鈕關(guān)閉Options窗口。
現(xiàn)在基本完成了交叉編譯環(huán)境完成一大半了,今天暫且為止,有空再完善下。
qtopia..