此文借鉴了很多别人的东西,纯粹记录自己的实现过程。
交叉编译环境
开发板为YLE2440,使用cross-3.4.1.tar.bz2交叉编译链,在linux系统的/usr/local/建立arm文件夹,将工具包解压:
tar jxvf cross-3.4.1.tar.bz2
编辑/etc/profile文件,在最后一行加入export PATH=/usr/local/arm/usr/local/arm/3.4.1/bin:$PATH
qt环境搭建
需要的文件tmake-1.11,qt-X11-2.3.2,qt-embedded-2.3.7(for host),qt-embedded-2.3.7(for target),qtopia-free-1.7.0.其中,qt-embedded-2.3.7(for host)是在虚拟环境中交叉编译,qt-embedded-2.3.7(for target)则是提供实际的编译库。
现在,先是把原来的压缩文件解压俩次分别命名,后面会进行编译。
首先解压缩各种文件
tar xfz tmake-1.11.tar.gz
tar xfz qt-x11-2.3.2.tar.gz
tar xfz qt-embedded-2.3.7-free.tar.gz
1.安装tmake,就是设定编译器的路径
export TMAKEDIR=$PWD/tmake-1.11
export QT2DIR=$PWD/qt-2.3.2
export QTEDIR=$PWD/qt-2.3.7-host
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$TMAKEDIR/bin:$PATH
2.安装Qt/X11 2.3.2
cd qt-2.3.2
export TMAKEPATH=$TMAKEDIR/lib/linux-g++
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
make clean
./configure -no-xft
make
安装成功!终端显示:The Qt library is now built in ./lib
The Qt examples are built in the directories in ./examples
The Qt tutorials are built in the directories in ./tutorial
Note: be sure to set $QTDIR to point to here or to wherever
you move these directories.
Enjoy! - the Trolltech team
make[1]: Leaving directory `/usr/xdq/qt-2.3.2'
为了使用uic以及qvfb:
cp bin/uic $QTEDIR/bin/
cd ..
编译qvfb工具:
cd $QTEDIR/tools/qvfb
make clean
tmake -o Makefile qvfb.pro
make
mv qvfb $QTEDIR/bin/
3.安装Qt/Embedded 2.3.7
cd qt-2.3.7-host
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 sub-src
cd ..
–qconfig local这个参数是说明编译时用自带的一个配置文件qconfig-local,需要先将其copy到qt-2.3.7/src/tools/下.
编译完成,测试一下结果,是在上位机上运行的。
export QTDIR=$QTEDIR
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH
cd $QTEDIR/examples/hello
qvfb -width 640 -height 480 &
sleep 10
./hello –qws
交叉编译平台:安装qt-2.3.7-target
export TMAKEDIR=$PWD/tmake-1.11
export QT2DIR=$PWD/qt-2.3.2
export QTEDIR=$PWD/qt-2.3.7-target
cd $QTEDIR
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++/ 主要是tmake中编译器的区别
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
make clean
./configure -xplatform linux-arm-g++ -qconfig local -shared -debug -no-xft -qvfb -depths 4,8,16,32
make
编译成功,主要是提供各种库啊。。。The Qt library is now built in ./lib
The Qt examples are built in the directories in ./examples
The Qt tutorials are built in the directories in ./tutorial
Note: be sure to set $QTDIR to point to here or to wherever
you move these directories.
Enjoy! - the Trolltech team
make[1]: Leaving directory `/usr/xdq/qt-2.3.7-target'
4.编译qtopia
cd $QPEDIR/src
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
make
5、执行qpe
root@localhost src]# cd ..
[root@localhost qtopia]# cd bin/
[root@localhost bin]# ./qpe
能出界面啦。。。
http://bbs.chinaunix.net/thread-2011063-1-1.html这个网址说的比较详细,明天再接着试~~~整理一下~~