基于AT91SAM9261/ AT91SAM9263的QT移植
一、準(zhǔn)備工作
開發(fā)環(huán)境:RedHat Linux 9.0+ARM-LINUX
QT軟件包:tmake-1.13.tar.gz qt-embedded-2.3.10.tar.gz qt-x11-2.3.2 .tar.gz
二、解壓安裝包并設(shè)置環(huán)境變量
接下來的工作都在統(tǒng)一目錄下執(zhí)行,如/home/9261qt
1、安裝Tmake
tar -xzf tmake-1.13.tar.gz
export TMAKEDIR=$PWD/tmake-1.13
2、安裝Qt 2.3.2
tar -xzf qt-x11-2.3.2.tar.gz
export QT2DIR=$PWD/qt-2.3.2
3.安裝Qt/Embedded
tar -xzf qt-embedded-2.3.10-free.tar.gz
export QTEDIR=$PWD/qt-2.3.10
三、編譯QT
1.編譯 Qt2.3.2
cd $QT2DIR
export TMAKEPATH=$TMAKEDIR/lib/linux-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -no-xft
make
mkdir $QTEDIR/bin
cp bin/uic $QTEDIR/bin/
注:./configure 是對Qt 進(jìn)行配置, 編譯完成后需要將生成的/bin/uic 復(fù)制到$QTEDIR 下新創(chuàng)建的目錄bin 中,因為在隨后編譯Qt/Embedded 的時候會用到這個工具。
2. 編譯Qvfb
export TMAKEPATH=$TMAKEDIR/lib/linux-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cd $QTEDIR/tools/qvfb
tmake -o Makefile qvfb.pro
make
mv qvfb $QTEDIR/bin/
注:qvfb 工具用來生成Virtual framebuffer,這是一個非常有用的工具,它可以模擬在開發(fā)板上的顯示情況,如果在Virtual framebuffer 中運行沒有問題的話,可以直接通過交叉編譯在開發(fā)板上運行。
3. 編譯Qt/Embedded
cd $QTEDIR
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -no-xft -qvfb -depths 4,8,16,32
make
四、PC上運行測試
1、在主機的frambuffer上運行
cd $QTEDIR/examples/launcher
./launcher -qws
2、在Virtual frambuffer上運行
export QTDIR=$QTEDIR
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH
cd $QTEDIR/examples/launcher
qvfb -width 640 -height 480 &
sleep 10
./launcher –qws
五、QT移植到ARM開發(fā)板上
cd $QTEDIR
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -xplatform linux-arm-g++ -no-xft -no-qvfb -depths 4,8,16,32
make
這步完成后,我們會在/$QTEDIR/lib/目錄下面看到libqte.so,libqte.so.2,libqte.so.2.3 ,libqte.so.2.3.10 這四個文件,我們可以使用file 命令來查看這個庫文件是否是我們需要的在開發(fā)板上跑的庫。
file libqte.so.2.3.10
libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
有了這個庫以后我們就可以把它拷貝到我們的開發(fā)板中相應(yīng)的庫目錄下面,這里我們選擇了開發(fā)板上的/usr/lib 目錄,將/$QTEDIR/lib/下的libqte.so*復(fù)制到/usr/lib 目錄下。
六、ARM運行測試程序
2025長三角國際智能儀表/線纜產(chǎn)業(yè)博覽會
展會城市:滁州市展會時間:2025-11-11