在前面的博文http://www.cnblogs.com/feisky/archive/2009/11/07/1598232.html中,有详细的Linux系统下Qt开发环境的建立方法,但是这样编写出来的程序只能在Linux系统下运行,不能够移植到ARM上,所以还需要建立交叉编译的Qt/Embeded开发环境。
具体的建立过程和需要的文件与上述方法类似,只是需要将其安装在不同的目录,并采用ARM的交叉编译器。
下面给出安装Qt For ARM的脚本
#!/bin/bash
echo remove old dirs
rm -rf tmake
rm -rf qt
rm -rf qt-x11
rm -rf qtopia
echo Unpack all packages
tar xzvf tmake-1.11.tar.gz
tar xzvf qt-embedded-2.3.7.tar.gz
tar xzvf qt-x11-2.3.2.tar.gz
tar xzvf qtopia-free-1.7.0.tar.gz
echo rename
mv tmake-1.11 tmake
mv qtopia-free-1.7.0 qtopia
mv qt-2.3.7 qt
echo Start Install Qt-X11
cd qt-2.3.2
export QTDIR=$PWD
echo yes|./configure -static -no-xft -no-opengl -no-sm
make -C src/moc
cp src/moc/moc bin
make -C src
make -C tools/designer
make -C tools/qvfb
cp tools/qvfb/qvfb bin
strip bin/uic bin/moc bin/designer bin/qvfb
#cp bin/uic $QTEDIR/bin
cp bin/?* ../qt/bin
cd ..
#cp $QTDIR/bin/?* qt/bin
mv qt-2.3.2 qt-x11
echo Start Setting env-var
export QTDIR=$PWD/qt
export QTEDIR=$QTDIR
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
echo Start build Qt/Embedded
cd qt
make clean
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools
(echo yes; echo no)|./configure -platform linux-arm-g++ -qconfig qpe -qvfb -depths 16,24,32
make -C src
cd ..
echo Start Build Qtopia
cd qtopia/src
./configure -platform linux-arm-g++
make
echo OK
这样安装完后的安置路径为:
qt-embedded-2.3.7.tar.gz |
/zylinux/arm-qtopia/qt |
qtopia-free-1.7.0.tar.gz |
/zylinux/arm-qtopia/qtopia |
qt-x11-2.3.2.tar.gz |
/zylinux/arm-qtopia/qt-x11 |
tmake-1.11.tar.gz |
/zylinux/arm-qtopia/tmake |
安装完后,如果要在ARM中运行Hello,还需要以下过程:
首先设置环境变量(source set-env):
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
然后复制PC环境编写好的hello文件夹到/zylinux/arm-qtopia/hello下,执行make,hello程序生成在/zylinux/arm-qtopia/bin目录下。
安装和运行程序:
Qtopia安装在文件系统的opt目录下。
将生成的hello程序复制到bin目录,将配置文件hello.desktop复制到Qtopia安装目录的apps/Applications目录下,重新制作文件系统并更新,然后重新启动Arm系统即可。
参考:《MagicARM2410教学实验开发平台实验指导》