我的操作过程如下:
在root下建立QTE目录,把qt-embedded-free-3.3.4.tar.bz2解压到此目录下,并复制为两份命名qte-3.3.4-host和qte-3.3.4-target。
为了支持触摸屏(我的是远峰7寸触摸屏),在QTE源码src/embedded/qmouselinuxtp_qws.h里面加上QWS_MOUSE_IPAQ和QWS_MOUSE_IPAQ_RAW两个宏定义
然后编译QTE
编译主机版本:
1.export环境变量
#export QTDIR=/root/QTE/qte-3.3.4-host
#export QTEDIR=$QTDIR
#export PATH=$QTDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2.运行./configue
#cd $QTDIR
#./configure -depths 4,8,16 -no-ipv6 -no-cups -thread -qvfb
3.编译Qt/Embedded函数库
#make sub-src
4.编译Qt/Embedded辅助开发工具
#cd tools
#make
编译目标版本:
1.export环境变量
#export QTDIR=/root/QTE/qte-3.3.4-target
#export QTEDIR=$QTDIR
#export PATH=$QTDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2.运行./configue
#cd $QTDIR
#./configure -depths 4,8,16 -no-ipv6 -no-cups -embedded arm -thread -qt-mouse-linuxtp
3.复制uic命令
#cp /root/QTE/qte-3.3.4-host/bin/uic /root/QTE/qte-3.3.4-target/bin/
4.编译Qt/Embedded函数库
#make sub-src
自己编个QTE小程序命名MaApp,编译好后复制到/YF2410/root_dir/root_china/usr/qt/bin目录下
把/root/QTE/qte-3.3.4-target/lib目录下的二进制库和字库fonts复制到/YF2410/root_dir/root_china/usr/qt/lib目录下
修改/YF2410/root_dir/root_china/usr/etc/rc.local文件最后加上MyApp -qws
修改/YF2410/root_dir/root_china/usr/etc/profile文件加上QWS_MOUSE_PROTO=LinuxTP:/dev/hs3600_tsraw一行,最后一行末尾加上QWS_MOUSE_PROTO:export PATH LD_LIBRARY_PATH QTDIR LINUETTEDIR QWS_KEYBOARD LANGTERMINFO_DIRS QWS_MOUSE_PROTO
一切工作准备完毕,制作文件系统下载到板子运行,出现如下错误:
MyApp:error while loading shared libraries:/qt/lib/libqte-mt.so.3:symbol nl_laryinfo,version GLIBC_2.0 not defined in file libc.so.6 with e......(后面的显示不出来了)
如果我把/YF2410/root_dir/root_china/usr/etc/profile文件里加上的QWS_MOUSE_PROTO=LinuxTP:/dev/hs3600_tsraw一行去掉,则液晶屏可以显示,触摸屏用不了
请问各位大虾我的问题到底出在哪儿啊?这个问题困扰我好多天了,哪位能给指点一下啊,多谢了!
我用的开发板是远峰2410,交叉编译工具链cross-2.95.3,qte-3.3.4,PC机系统FC4