日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

中 深度剖析E680G開發(fā)三.移植OPIE操作系統(tǒng)-交叉編譯Qte( 二 )


容性問題,crosstool-0.42中這個文件gcc-3.3.2-glibc-2.3.2.dat,已經(jīng)修正 。

arm.dat整合了編譯ARM的相關(guān)參數(shù) 。
arm.sh是執(zhí)行編譯的腳本 。

5.下載本文章相關(guān)的資源文件gcc-3.3.2-arm-softfloat.patch.bz2,這是一個
浮點運算的補丁 。將解壓縮的gcc-3.3.2-arm-softfloat.patch復(fù)制到
crosstool-0.28-rc37/patches/gcc-3.3.2下 。再把crosstool-0.28-rc37/patches/gcc-3.3.2/
下gcc-3.3.2-arm-bigendian.patch 移動到crosstool-0.28-rc37/patches/gcc-3.3.2/feature/下 。

6.根據(jù)gcc-3.3.2-glibc-2.3.2.dat相關(guān)內(nèi)容下載,下載地址同《E680G開發(fā)一》
所述 。并在crosstool-0.28-rc37下創(chuàng)建目錄downloads,將這些文件移過去 。

binutils-2.15.tar.bz2
gcc-3.3.2.tar.bz2
glibc-2.3.2.tar.bz2
glibc-linuxthreads-2.3.2.tar.bz2
linux-2.4.20.tar.bz2

7.設(shè)置環(huán)境變量export TOOLCHAIN_DIR=/home/gcc/toolchain
修改arm.sh中TARBALLS_DIR=$TOOLCHAIN_DIR/crosstool-0.28-rc37/downloads
修改arm.sh中RESULT_TOP=$TOOLCHAIN_DIR


這兩個一是指定編譯使用相關(guān)包的位置,另外則是指定編譯后的路徑 。完成這些后,
運行arm.sh即可以構(gòu)造交叉編譯環(huán)境了 。

8.完成加入PATH環(huán)境變量,即可測試編譯環(huán)境了 。
export PATH=$PATH:$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2/bin


五、編譯QTE
1.在本文資源貼中下載e680-qt.rar,把解開的.h頭文件和lib文件復(fù)制到
$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2下的對應(yīng)目錄 。這頭文件
其實就是Linux PC機自帶的頭文件,而lib文件就是E680上的庫文件 。

2.在ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.10-free.tar.gz
下載QTE 。關(guān)于這些路徑,不行可以在Google搜索一下,不過國內(nèi)的網(wǎng)站提供下載的
不多 。其實對于qt編譯的相關(guān)配置,自帶的英文文檔還是比較詳細的 。
3.在/home/gcc/toolchain下解壓縮并設(shè)置環(huán)境變量
export QTDIR=$TOOLCHAIN_DIR/qt-2.3.10


4.在qt-2.3.10configs目錄下修改linux-arm-g-shared文件,我們會在下面
的配置中指定使用arm平臺 。在文件中查找如下內(nèi)容:
SYSCONF_LINK= arm-linux-gcc
SYSCONF_LINK_SHLIB = arm-linux-gcc
均改為
SYSCONF_LINK= arm-linux-g
SYSCONF_LINK_SHLIB = arm-linux-g
否則在編譯中會出現(xiàn)鏈接錯誤,QT程序都是基于C的,arm-linux-gcc不可能
編譯成功!
5.在$QTDIR下運行以下命令,配置編譯參數(shù),可以看出平臺是arm 。
./configure -qconfig all -depths 8,16 -xplatform linux-arm-g-thread -sm -qvfb -qt-libpng -system-jpeg -gif -qt-zlib -no-xft -keypad-mode
對相關(guān)參數(shù)不明白的地方,可以通過./configure -help查看,實在不行,分析
configure本身這個文件,相信你一定受益菲淺 。
運行完這個命令后,相關(guān)Makefile文件都會建立好了 。

注意:在QTE編譯過程中,先會編譯moc可執(zhí)行文件,并會放在$QTDIR/bin下 。
(moc(Meta Object Compiler)是QT工具的工具,該工具是一個C預(yù)處理程序,
它為高層次的事件處理自動生成所需要的附加代碼 。)此外還需要uic可執(zhí)行程序
用于將Designer設(shè)計的界面文件(*.ui)轉(zhuǎn)換成為相應(yīng)的C文件(*.cpp和*.h),
然后讓gcc進行編譯 。這個工具不能卻不能順利編譯,原因是QTE編譯過程中,也把
這個文件也用arm-linux-gcc編譯了,不能在Linux PC機上運行了 。解決方法有兩個
直接復(fù)制Linux的uic文件到$QTDIR/bin下,或者手工去$QTDIR/tools/designer/uic
編譯下uic,再復(fù)制過去 ?;蛘呷ttp://www.vanille.de/tools/uic-qt2下載uic-qt2
改名并復(fù)制到$QTDIR/bin下 。

6.在$QTDIR下輸入make,執(zhí)行編譯 。

7.編譯成功后,隨便復(fù)制個example下的例子,注意別忘了連編譯好的庫文件一起
復(fù)制 $QTDIR/lib,設(shè)置好環(huán)境變量,即可在E680G上運行 。
如:
#!/bin/bash
export QTDIR=/usr/lib/ezx

推薦閱讀