redhat9.0下交叉编译arm&qtpoia2.2记录 时间:2007-4-24 新的项目就要开始了,是用linux下的qt开发,主板用的是freescale的iMX21板子,由于它们给的学习板子里边已经有qtopia2.1,出于学习和深入研究的目的。开始我对qt的学习过程: 1. 开发环境 HOST 环境: 系统:redhat9.0完全安装 交叉工具arm 2.9.53 TARGET环境 freescaleiMX21(arm9) 320*240屏外加触摸屏 软件: 1.qtopia-free-src-2.2.0.tar.gz 2.e2fsprogs-1.39.tar.gz 3.jpegsrc.v6b.tar.gz 4.libpng-1.2.14.tar.bz2 5.tslib-1.3.tar.bz2 6.zlib-1.2.3.tar.bz2 7.freetype-2.1.4.tar.bz2 说明:2-6以前已经交叉编译过,并且将相关的库文件和头文件分别放到了交叉编译器的 arm-linux/lib arm-linux/include目录下面 工作目录为/home/nfs 2.交叉编译过程 2.1安装freetype-2.1.4.tar.bz2 解压后进入到解压后的目录,执行以下命令: ./configure --prefix=/usr make make install 2.2 解压qtopia-free-src-2.2.0.tar.gz tar zxvf qtopia-free-src-2.2.0.tar.gz 2.3 得到本机运行版本uic 工具 下载地址: http://vanille.de/tools/uic-qt2 改变权限: chmod u rx uic-qt2 改名: mv uic-qt2 uic 拷贝到qtopia-free-2.2.0/qt/bin中 cp uic /home/nfs/qtopia-free-2.2.0/qt/bin中 2.4 设置环境变量 export QPEDIR=/home/nfs/qtopia-free-2.2.0/qtopia export QTDIR=/home/nfs/qtopia-free-2.2.0/qt2 export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib export TMAKEDIR=/home/nfs/qtopia-free-2.2.0/tmake export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g 2.5 修改相关文件 1. qtopia-free-2.2.0/qtopia/mkspecs/qws/linux-arm-g /qmake.conf 将此行 QMAKE_LIBS_QT = -lqte 修改为 QMAKE_LIBS_QT = -lqte -lpng -lz -luuid -ljpeg 2.修改$QPEDIR/src/qt/qconfig-qpe.h文件,定义相应的宏,在最后加上 #define QT_QWS_IPAQ #define QT_QWS_IPAQ_RAW 这样是为了让Qtopia自动支持触摸屏 3.修改qtopia-free-2.2.0/qt2/include/qvaluestack.h 将remove( this->fromLast() );改为this->remove( this->fromLast() ); 4.qtopia-free-2.2.0/qtopia/src/3rdparty/plugins/codecs/libflash/ 将其中的jpeglib.h改名为jpeglib.h.bak 5.qtopia-free-2.2.0/qtopia/src/libraries/qtopia/qdawg.cpp 将QDawgPrivate::~QDawgPrivate()改为~QDawgPrivate() 2.6 配置 准备配置文件: cp $QPEDIR/src/qt/qconfig-qpe.h $QTDIR/src/tools cd $QPEDIR/src/libraries/qtopia cp custom-linux-ipaq-g .cpp custom-linux-arm-g .cpp cp custom-linux-ipaq-g .h custom-linux-arm-g .h 建立安装目录: mkdir /home/nfs/qtopia 配置: echo 'yes'|./configure -qte "-embedded -xplatform linux-arm-g -qconfig qpe -no-qvfb -depths 16,24 -system-jpeg -system-libpng -system-zlib -gif -thread -no-xft -release -lpng -lz -luuid -ljpeg" -qpe '-xplatform linux-arm-g -edition pda -displaysize 320x240 -prefix=/home/nfs/qtopia' 2.7 make 2.8 make install 2.9 将qtopia拷贝至USB,mount到/mnt目录 2.10 设置环境变量并运行 export QTDIR=/mnt/qtopia export QPEDIR=/mnt/qtopia export QWS_MOUSE_PROTO="TPanel:/dev/h3600_tsraw" export PATH=/mnt/qtopia/bin:$PATH export LD_LIBRARY_PATH=/mnt/qtopia/lib export QWS_KEYBOARD=TTY 说明:开发板上的库文件的版本不一致,可以将这些库文件拷贝到mnt/qtopia中, 先列举用得到的包: [参考网站] http://www.cublog.cn/u/27904/showart_263102.html http://www.hzlitai.com.cn/bbs/dispbbs.asp?boardid=5&id=6456 http://www.arm9bbs.com/thread-335-1-1.html |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 23:27 , Processed in 0.190649 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.