Qt交叉編譯工具建立 下篇
繼續(xù)上篇文章介紹 Qt交叉編譯工具建立 中篇 ,Qtopia2.1.1 在2410-S 上的移植是本文要介紹的內(nèi)容,來(lái)看內(nèi)容。
軟件:Redhat Linux9.0 for PC + minicom + Embeded Linux for 2410
- e2fsprogs-libs-1.37.tar.gz,libjpeg-iwmmxt.tar.bz2,qt-embedded-2.3.10-free.tar.gz
- ,qtopia-free-source-2.1.1.tar.bz2,qt-x11-2.3.2.tar.gz,qt-x11-free-3.3.4.tar.bz2,
- tmake-1.13.tar.gz,tslib.tar.gz,buildqtopia.sh
1.實(shí)驗(yàn)可以分為以下幾個(gè)步驟進(jìn)行:
(1) 在裝有l(wèi)inux 的pc 機(jī)上安裝交叉編譯環(huán)境。安裝光盤時(shí)所安裝的編譯器版本較低,不能正常編譯QT程序,所以編譯前需要安裝Qt/tools/arm-linux-gcc-3.4.1.tar.bz2,并在/root/.bash_profile中修改編譯器搜索路徑。
(2) 編譯庫(kù)文件:
(3) 編譯qt-x11-2.3.2:
(4) 編譯安裝qt-embedded-2.3.2
(5)編譯安裝QTOPIA
(6) 將需要拷貝到開(kāi)發(fā)板上的文件整理到一個(gè)單獨(dú)的文件夾里面
在本次實(shí)驗(yàn)中,buildqtopia.sh文件已為大家做好了以上幾步,我們可以直接運(yùn)行該文件進(jìn)行編譯。大家可以分析buildqtopia.sh 內(nèi)容,掌握編譯的步驟。
2. 編譯步驟:
- cd src
- ./buildqtopia.sh
當(dāng)編譯完成后,在src/qtopia-free-2.1.1/image/opt/Qtopia 下是編譯完成的Qtopia 桌面環(huán)境。
說(shuō)明:在編譯完成后,src 下的各個(gè)目錄對(duì)應(yīng)如下軟件包:
e2fsprogs-libs-1.37 ext2 文件系統(tǒng)工具包,Qtopia 用到了其中的libuuid
e2fs-install ext2 工具包編譯結(jié)果
jpeg-6b jpeg 解碼庫(kù)
jpeg-install jpeg 編譯結(jié)果
tslib 觸摸屏工具包
tslib-install 觸摸屏工具包編譯結(jié)果
tmake-1.13 tmake 工具,編譯Qtopia 時(shí)需要使用
qt-2.3.2 Qt/X11-2.3.2 及編譯結(jié)果, 編譯Qtopia 時(shí)需要使用其中的工具
qt-x11-free-3.3.4 Qt/X11-3.3.4 及編譯結(jié)果,編譯Qtopia 時(shí)需要使用其中的工具
qt-2.3.10 Qt/Embedded 2.3.10 及編譯結(jié)果
qtopia-free-2.1.1 Qtopia 2.1.1 及編譯結(jié)果
3. 安裝步驟:
(1)Qtopia
- cd src/qtopia-free-2.1.1/image/opt/
- tar cvjf /tmp/qtopia-install.tar.bz2 Qtopia
將/tmp/qtopia-install.tar.bz2 下載到目標(biāo)機(jī),并解壓縮到某個(gè)目錄,假設(shè)為/mnt/yaffs。
(2)相關(guān)文件
將src/qtopia.sh 下載到目標(biāo)機(jī)的/usr/bin 目錄下.將src/e2fs-install/lib/libuuid.so*下載到目標(biāo)機(jī)的/usr/lib 目錄下.將src/jpeg-install/lib/libjpeg.so*下載到目標(biāo)機(jī)的/usr/lib 目錄下
(3)目標(biāo)機(jī)上的處理在目標(biāo)機(jī)上執(zhí)行:
- cd /usr
- ln -s /mnt/yaffs/Qtopia qpe
- chmod +x /usr/bin/qtopia.sh
注: 光盤中沒(méi)有提供qtopia.sh文件,下面是qtopia.sh文件
- //qtopia.sh
- #!/bin/sh
- export QTDIR=/usr/qpe
- export QPEDIR=/usr/qpe
- export KDEDIR=/usr/qpe
- export TSLIB_TSDEVICE=/dev/input/event0
- export TSLIB_CONFFILE=/tmp/ts.conf
- export TSLIB_CONSOLEDEVICE=none
- export TSLIB_CALIBFILE=/tmp/ts-calib.conf
- export
- TSLIB_PLUGINDIR=/usr/qpe/lib
- export QT_TSLIBDIR=/usr/qpe/lib/
- export
- LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/qpe/lib/
- export QWS_SIZE=640x480
- export
- QWS_MOUSE_PROTO="TPanel:/dev/input/event0 USB"
- export LANG=zh_CN
- insmod
- /mnt/yaffs/touchscreen/ts-uptech.o
- cp /usr/qpe/etc/ts.conf /tmp
- cd /usr/qpe/bin/
- if [ "$1" = "c" ]; then
- ./ts_calibrate
- fi
- if [ -f "$TSLIB_CALIBFILE" ]; then
- ./qpe &>/dev/null
- else
- ./ts_calibrate
- ./qpe &>/dev/null
- fi
- clear
小結(jié):關(guān)于Qt交叉編譯工具建立的內(nèi)容介紹完了,如果哦還有什么不明白的話,請(qǐng)參考編輯推薦。