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