新聞中心

QTE及QPE在ARM板上的移植

作者: 時(shí)間:2012-12-08 來(lái)源:網(wǎng)絡(luò) 收藏
  所需軟件工具包:

  tmake -1.11.tar.gz(tmake-1.13)

  qt-embedded-2.3.7.tar.gz

  qtopia-free-1.7.0.tar.gz

  qt-x11-free-2.3.2

  (注意:qt/x11版本必須要比qte的版本要老)

  利用的交叉編譯工具為cross-2.95.3

  交叉編譯環(huán)境的建立

  1.建立tmake工具包

  在host 上的/home/下建立

  # tar –xzf tmake-1.11.tar.gz

  2.建立qt-x11-free-2.3.2得到uic和designer工具

  # cd /home/

  # tar –xzf qt-x11-free-2.3.2.tar.gz

  # export QTDIR=/home/qt-2.3.2

  # export PATH=/usr/local//2.95.3/bin:$QTDIR/bin:$PATH

  #./configure –no-opengl

  # make make –c tools/qvfb

  # mv tools/qvfb/qvfb bin

  # cd ..

  3.交叉編譯基于架構(gòu)的庫(kù)

  # mkdir /home/arm

  # cd /home/arm

  把qt-embedded 2.3.7.tar.gz壓縮包放到/home/arm目錄下

  # tar –xzf qt-embedded-2.3.7.tar.gz

  # cd qt-2.3.7

  # export PATH=/usr/local/arm/2.95.3/bin:$PATH

  # export QTDIR=$PWD

  # export DIR=$QTDIR

  將qtopia-free-1.7.0下的qconfig-qpe.h CP到/home/arm/qt-2.3.7/src/tools下面(注:如果不用到1.7.0可以不CP,另外在這里你可以根據(jù)你的需要來(lái)裁剪2.3.7的庫(kù),#define 你需要的類,形成一個(gè)qconfig-xxx.h自定義配置文件就行,具體類的作用可以通過(guò)查找qt的說(shuō)明文檔。如果需要支持觸摸屏必須要加上#define QT_QWS_IPAQ的內(nèi)容。)

  # ./configure –xplatform. linux-arm-g++ -shared –realse –qconfig xxx –qvfb –depths 4,8,16,32

  將qt/x11下的bin下的uic工具CP到QTE2.3.7的bin下。

  # make

  形成了基于架構(gòu)的QTE2.3.7庫(kù)。

  4.利用ARM架構(gòu)的QTE2.3.7庫(kù)交叉編譯qtopia-free-1.7.0

  由于編譯1.7.0需要用到j(luò)peg.so.*和luuid.so.*等庫(kù)文件,所以在編譯1.7.0前必須要先編譯的e2fsprogs-1.35.tar.gz,jpegsrc.v6b.tar.gz這兩個(gè)相關(guān)的庫(kù)。

  #mkdir /home/arm/qt-2.3.7/include/uuid

  將uuid.h CP到qt-2.3.7/include/uuid下,并將jpeg.so.*和luuid.so.*CP到qt-2.3.7/lib下

  #export QTEDIR=/home/arm/qt-2.3.7

  #export QTEDIR=/home/arm/qt-2.3.7

  #export QPEDIR=/home/arm/qtopia-free-1.7.0

  #export LD_LIBRARY_PATH=/home/tmake-1.11/lib/qws/linux-arm-g++

  #export PATH=/home/tmake-1.11/bin:$PATH

  #./configure –platform. linux-arm-g++

  分別進(jìn)入

  src/setting src/tools src/games src/application src/3rdparty/applications

  將這些目錄下面所有Makefile里面的-lm 改成-lm –luuid –luuid

  #make

  以上是整個(gè)編譯過(guò)程。

  5.建立新的根文件系統(tǒng)cramfs

  將板上原有的根文件目錄mount上并復(fù)制

  #mkdir /mnt/cram

  #mount –t cramfs YL2410_camare_demo.cramfs /mnt/cram –o loop

  #mkdir /usr/temp

  #cp –ra /mnt/cram/ /usr/temp/

  (注:CP不能實(shí)現(xiàn)文件符號(hào)鏈接的復(fù)制,所以必須要人手用ln指令重新建立相應(yīng)的符號(hào)鏈接)

  將QTE2.3.7下的lib和QPE1.7.0下的lib及bin目錄復(fù)制到temp的相應(yīng)位置,如改動(dòng)了其路徑,必須將.bashrc里的環(huán)境變量進(jìn)行改寫,并查看temp/cram/usr/etc/rc.local文件,并作出相應(yīng)的改動(dòng)。

  把利用QTE2.3.7庫(kù)編譯的程序放到QPE1.7.0下的bin下并利用mkcramfs工具生成新的根文件系統(tǒng)

  #mkcramfs cram cram.cramfs

  將新生成的根文件目錄系統(tǒng)燒寫到板中,重啟運(yùn)行便可以在觸摸屏上見(jiàn)到自己制作的QPE環(huán)境



關(guān)鍵詞: QTE QPE ARM 移植

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉