2009年7月24日 星期五

[轉貼] Qt4.4.3 在s3c2440平台的移植

Qt4.4.3 在s3c2440平台的移植      版本1.0
首先,從http://trolltech.com/downloads下載針對嵌入式設備的Device Creation版,目前最新穩定版是
qt-embedded-linux-opensource-src-4.4.3。下面是詳細的移植步驟:

1.解壓縮
  tar zxf qt-embedded-linux-opensource-src-4.4.3.tar.gz
   cd qt-embedded-linux-opensource-src-4.4.3

2.編譯,使用系統默認的圖片庫,保留大部分常用功能,並加入tslib觸摸屏校驗的支持
./configure \
  -prefix /new_disk/weiyan/qt/build/ \  //指定安裝的目錄,與開發板上運行的目錄一致
  -release -shared \
  -fast \
  -pch \
  -no-qt3support \
  -qt-sql-sqlite \
  -no-libtiff -no-libmng \
  -qt-libjpeg \
  -qt-zlib \
  -qt-libpng \
  -qt-freetype \
  -no-openssl \
  -nomake examples -nomake demos -nomake tools\
  -optimized-qmake \
  -no-phonon \
  -no-nis \
  -no-opengl \
  -no-cups \
  -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm\
  -no-xinerama -no-xshape \
  -no-separate-debug-info \
  -xplatform qws/linux-arm-g++ \
  -embedded arm \
  -depths 16 \
  -no-qvfb \
  -qt-gfx-linuxfb \
  -no-gfx-qvfb  -no-kbd-qvfb  -no-mouse-qvfb\
  -qt-kbd-usb \
  -confirm-license \
  -qt-mouse-tslib

make (或者gmake)
make install (或者gmake install)

3.設置Qt4應用程序的編譯環境
  cp bin/qmake /usr/bin

4.製作Qt4的文件系統,進行適當的裁減
  只複製必須的Qt庫
  cd $rootfs  #$rootfs 為文件系統的目錄
  mkdir new_disk/weiyan/qt/build –p && cd new_disk/weiyan/qt/build
  cp /new_disk/weiyan/qt/build/lib/libQtCore.so ./
  cp /new_disk/weiyan/qt/build/lib/libQtGui.so.4 ./
  cp /new_disk/weiyan/qt/build/lib/libQtNetwork.so.4 ./
  mkdir fonts
  只複製支持中文顯示的文泉驛字體
  cp /mnt/qt/build/lib/fonts/wenquanyi_120_50.qpf fonts

5.編譯內置的測試程序
cd $QTDIR/examples/qws/mousecalibration
qmake && make
cp mousecalibration $rootfs/new_disk/weiyan/qt/build/

6.在wy2440開發板上運行QT4測試程序
   重新生成yaffs2文件系統
   mkyaffs $rootfs rootfs.yaffs2

   已生成的文件系統大小為24M
   ll rootfs.yaffs -h
   -rw------- 1 root root  24M 2008-11-02 03:09 rootfs.qt4

在wy2440開發板上重新燒寫文件系統,進入到U-Boot
WEIYAN # run uprootfs  自動升級文件系統
WEIYAN # boot   啟動內核

設置QT4運行的環境變量
export QTDIR=/new_disk/weiyan/qt/build
export LD_LIBRARY_PATH=$QTDIR/lib:$OPIEDIR/lib
export PATH=$QTDIR/bin:$OPIEDIR/bin:$PATH
export QWS_MOUSE_PROTO=tslib:/dev/event1
export TSLIB_ROOT=/usr
export TSLIB_TSDEVICE=/dev/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONFFILE=/etc/ts.conf

執行基於Qt4的觸摸屏校驗
[root@WEIYAN /]$ ./new_disk/weiyan/qt/build/mousecalibration

沒有留言: