今天,我們的項目基本方案基本確定了——基于安卓系統下位機軟件開發。盡管并不是基于linux+qt的開發,但也是在意料之中的事情,不得不承認,linux+qt開發需要的硬件tiny6410核心板成本是相當高的,而且在核心板的外圍電路設計難度也不是一般的大,而且有一定的風險。相比之下,基于安卓系統的下位機開發的優勢就明顯很多了。
現在來說說linux+qt的QT 4.7.0 交叉編譯環境搭建的過程嘛。
首先,qt是一個跨平臺的應用程序框架,那么要在linux進行qt4程序的軟件開發,我們就需要進行交叉編譯。
一、前期軟件準備:
1 、虛擬機fedora9。到fedora官網下載,地址 http://fedoraproject.org/ 版本推薦使用fedora9,在vm內安裝,并且不安裝vmware tools。
2、qt-creator 圖形化界面開發軟件 。 Linux/X11 32位 的 Qt Creator 1.3.1 二進制軟件,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環境下。
二、安裝交叉編譯環境。
在root目錄下建立tmp文件夾,將qt-everywhere-opensource-src-4.6.2.tar.gz直接解壓后復制2分,分別命名為pc、x86、arm。
1. 編譯 PC 版:
cd 進入pc目錄
#./configure //
# gmake
# gmake install
這個安裝過程很長,幾乎長達四五小時,基本你開著虛擬機你就可以去睡覺去了,這個時候最好而且是不要將虛擬機最小話,因為這樣的編譯需要耗費電腦cpu極容易造成程序未響應,其中 gmake命令可以和gmake install一起用:gmake&&gmake install 就是等待gmake執行完就執行gmake install,因為gmake這個過程是相當長時間的。
2. 編譯嵌入式x86版:
進入x86目錄
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安裝過程比較長,沒有碰到過錯誤。
編譯安裝PC版中的 qvfb:
進入pc/tools/qvfb/目錄
#make
編譯完畢,將pc/bin目錄下的qvfb文件復制到/usr/local/Trolltech/QtEmbedded-4.6.2/bin目錄。
3、編譯tslib對觸摸屏支持:
tslib1.4.tar.gz,解壓后:
# ./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make
# make install
這一步為后面的編譯arm版做準備。
4. 編譯嵌入式arm版(需要 arm-linux-gcc 的支持):
關于 arm-linux-gcc 交叉編譯器的安裝就是將其在壓縮包解壓,然后在該目錄下執行命令:./configure 然后加上環境變量 命令:export PATH=/usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH
# ./configure
以下為./configure 這個的命令的參數 ,關于這些參數的作用可以執行命令 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 目錄中有三個文件夾:Qt-4.6.2、QtEmbedded-4.6.2、QtEmbedded-4.6.2-arm。 這三個文件夾里面包含了編譯qt4程序的qmake。
到目前為止大概花了十五個小時,這可是考驗耐心的時刻呀!!!!
5、安裝Qt-creator-1.3.1
把下載的qt-creator-linux-x86-opensource-1.3.1.bin文件拷到一個目錄(如前面的/root/tmp目錄),進入目錄:
設置qt-creator-linux-x86-opensource-1.3.1.bin文件為可執行
#chmod +x qt-creator-linux-x86-opensource-1.3.1.bin
安裝:
# ./ qt-creator-linux-x86-opensource-1.3.1.bin
啟動安裝界面,默認一路Next即可。
*如果我們下載的是Qt的SDK(qt-sdk-linux-x86-opensource-2010.02.bin),這里可以選擇安裝Qt的開發環境,這樣,在前面安裝pc版Qt那步就可以省了,關鍵是可以省出很多時間的。
6、Qt-creator開發環境的配置
啟動Qt-creator。
在Qt-creator菜單欄Tools—〉Options…打開Options窗口。
在Options界面左側,點擊Qt4—〉Qt Versions右側顯示Qt Versions設置界面。
在Qt Versions界面中點擊那個藍色的大“╋”號圖標
在下方Version Name:文本框內輸入Qt的版本名,可以隨便填,能區分各個版本即可(如pc版取Qt4.6.2-pc、x86版取QtE4.6.2-x86、arm版取QtE4.6.2-arm)。
單擊Qmake Location:右側Browse…按鈕,在彈出的“Select QMake Executable”窗口中找到對應版本的qmake程序(按照我們前面安轉的,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),單擊打開,回到Qt Versions界面。
回到Qt Versions界面,單擊Debugging Helper:右側Rebuild按鈕,等待片刻,看到Debugging Helper:后出現一個綠色的“√”即可。
同理完成其他版本的添加。
添加完畢,單擊OK按鈕關閉Options窗口。
現在基本完成了交叉編譯環境完成一大半了,今天暫且為止,有空再完善下。
qtopia..