Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180733
  • 博文数量: 80
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 835
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-29 10:30
文章分类
文章存档

2009年(12)

2008年(60)

2007年(8)

我的朋友

分类:

2008-01-04 17:50:20

 对于2410 移植QTE支持触摸屏有两种方式:
 
       一.针对2410 2.4版内核的TS驱动是IPAQ标准的,QTE直接支持。
 
  编译过程如下:

1)        export环境变量

export QTDIR=/qte/qte-3.3.4

export QTEDIR=$QTDIR

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

2)        运行./configure

cd $QTDIR

./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch -qvfb -embedded arm -qt-gif -thread -qt-mouse-linuxtp

3)        复制uic命令

cp /qte/qte-3.3.5-host/bin/uic /qte/qte-3.3.4-target/bin/

4)        为了支持触摸屏(IPAQ兼容的)

src/embedded/qmouselinuxtp_qws.h中加入

#define QWS_MOUSE_IPAQ

#define QWS_MOUSE_IPAQ_RAW

#define QT_QWS_IPAQ

5)        编译Qt/Embedded函数库

make sub-src

触摸屏效果不太好,需校准。

 

二 :采用qte-3.3.4+tslib-1.3 的方式

 

1.编译tslib-1.3

可参考下面文章,很详细

http://blog.chinaunix.net/u1/33412/showart_282396.html

将生成的库文件包括lib下的(libts.so)和插件plugins里的校准库 全部考到qte3.3.4/lib里 头文件考到qte3.3.4/include里

同时将编译QT-X11得到的uic考到qte-3.3.4/bin里。

 

2.给qte-3.3.4打补丁使其支持tslib

网上下的补丁文件有点问题用patch命令打补丁不完全,于是手工打补丁

按照patch的方法,增加两个文件到src/embedded/下,修改相应文件src/embedded/qmousedriverfactory_qws.cpp, src/embedded/qt_embedded.priconfigure

 

    3.交叉编译

    export QTDIR

./configure –embedded arm –thread –qvfb –qconfig-large –qt-mouse-tslib –I$QTDIR/include –L$QTDIR/lib –lts

  make

这里需要强制指定tslib库位置,否则,会报错找不到libts

结果make仍然报错,说libts不兼容。

 /usr/bin/ld: skipping incompatible /home/hjcai/qt-arm/qte-arm-tslib/lib/libts.so when searching for -lts

/usr/bin/ld: cannot find –lts

读错误信息发现是编译到src/moc出现上述问题,

于是先:

echo yes |./configure -embedded arm -thread  

cd src/moc

make

 

然后再:

echo yes |./configure -embedded arm –thread –qt-mouse-tslib –I$QTDIR/include –L$QTDIR/lib

 make

 

编译成功,将生成的QT库和编译tslib生成的plugins/ts里的库和配置文件

ts.conf下到开发板。

 

4.设置环境变量

export QTDIR=/qte-3.3.4

export LD_LIBRARY_PATH=$QTDIR/lib

export QWS_MOUSE_PROTO=tslib:/dev/tsraw0

export TSLIB_TSDEVICE=/dev/sraw0

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_PLUGINDIR=lib/plugins

export TSLIB_TSEVENTTYPE="H3600"

export TSLIB_CALIBFILE=/etc/pointercal

 

5.调试

 

阅读(2547) | 评论(4) | 转发(0) |
0

上一篇:qte-3.3.4移植

下一篇:QT信号与槽

给主人留下些什么吧!~~

chinaunix网友2010-07-27 17:12:15

按你方法,打完补丁后,编译QTE还是报错:CANNOT FIND LTS,请帮忙解决,谢谢!EMAIL:lypadsl@163.com

chinaunix网友2010-07-27 17:12:15

按你方法,打完补丁后,编译QTE还是报错:CANNOT FIND LTS,请帮忙解决,谢谢!EMAIL:lypadsl@163.com

chinaunix网友2008-10-24 16:05:30

按你的方法,在板子上执行程序出现如下信息: QWSTSLibMouseHandler: handler init tslib /dev/ts QWSTSLibMouseHandlerPrivate: init /dev/ts openTs: cast device openTs: device /dev/ts openTs: device /dev/ts openTs: m_ts 0x26750 不知道为什么,能否帮忙解决一下,谢谢 邮箱:imho@163.com

chinaunix网友2008-10-24 16:05:30

按你的方法,在板子上执行程序出现如下信息: QWSTSLibMouseHandler: handler init tslib /dev/ts QWSTSLibMouseHandlerPrivate: init /dev/ts openTs: cast device openTs: device /dev/ts openTs: device /dev/ts openTs: m_ts 0x26750 不知道为什么,能否帮忙解决一下,谢谢 邮箱:imho@163.com