QT 4.8.5支持电容触摸屏 和 鼠标

近几天在搞QT4.8.5移植到ARM中,这里记录一下遇到的一些问题。

对于支持触摸屏,内核也是有要求的,与Android是不一样的,具体的可以参考:http://blog.csdn.net/orz415678659/article/details/9136575


另外这里对tslib做了支持,如果是第一次编译tslib,那么可能会出现一个错误,可参考这里:http://blog.csdn.net/wang_shuai_ww/article/details/45895389

首先配置是:

./configure -prefix /wsh_space/my_install/QT/Trolltech/QtEmbedded-4.8.5-arm -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -no-mouse-pc -no-mouse-qvfb -no-mouse-linuxtp -no-mouse-qnx -qt-mouse-linuxinput -qt-gfx-transformed -no-neon -qt-gfx-linuxfb  -qt-libjpeg -qt-libpng -little-endian -qt-mouse-tslib -nomake examples -nomake demos -nomake docs -I./tslib1.4/include -L./tslib1.4/lib
我这里没有编译tools、example、demos,以加快编译速度。

这里需要修改一个文件/mkspecs/qws/linux-arm-g++/qmake.conf,主要是修改编译器:

# modifications to g++.conf
QMAKE_CC                = arm-cortex_a9-linux-gnueabi-gcc
QMAKE_CXX               = arm-cortex_a9-linux-gnueabi-g++
QMAKE_LINK              = arm-cortex_a9-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-cortex_a9-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = arm-cortex_a9-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-cortex_a9-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-cortex_a9-linux-gnueabi-strip

如果不修改可能会出现下面的错误,除非你的计算机中正好有默认的编译器:

The specified system/compiler is not supported

对于上面的错误,可以参考这里http://blog.csdn.net/lf8289/article/details/8349493


编译,我这里没有遇到错误,如果遇到错误,大家可以百度,基本都能够解决。


可是最后测试的时候问题来了。我的QT配置如下

export set QTDIR=/usr/local/Trolltech/QtEmbedded-4.8.5-arm
export set QPEDIR=/usr/local/Trolltech/QtEmbedded-4.8.5-arm
export set LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
#export set QWS_MOUSE_PROTO="Tslib:/dev/input/event1"
#export set QWS_MOUSE_PROTO="Intellimouse:/dev/input/mice"
export set QWS_MOUSE_PROTO="LinuxInput:/dev/input/event1 IntelliMouse:/dev/input/mice"
#export QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mice;
#export QWS_MOUSE_PROTO=LinuxInput:/dev/input/event1:$QWS_MOUSE_PROTO;
export set QWS_SIZE="1024x600"
export set QWS_KEYBOARD="LinuxInput:/dev/input/event1"
#export set QWS_DISPLAY="LinuxFb:mmWidth600:mmHeight480:0"
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export PATH=$QTDIR/bin:$PATH

鼠标可以用,而鼠标却没用。

后来就换成了下面的配置,问题解决:

./configure -prefix /wsh_space/my_install/QT/Trolltech/QtEmbedded-4.8.5-arm -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-linuxinput -qt-mouse-pc -qt-gfx-transformed -no-neon -qt-gfx-linuxfb -qt-libjpeg -qt-libpng -little-endian -no-mouse-linuxtp -no-pch -nomake tools -nomake examples -nomake demos -nomake docs -I./tslib1.4/include -L./tslib1.4/lib

额外篇:大家在编译Android、QT等工程时都遇到一个很难受的问题,那就是编译时间很长,例如编译Android4.4源码,弄不弄就要5、6个小时,QT有的也要2、3个小时,对于这类开发的人员来说,有点难受。就拿上面的QT配置来说,有网友编译花了几个小时,而我花了不到10分钟。全编译Android4.4包含内核、u-boot,总花费时间为1.5个小时。这里的区别是CPU的处理能力,以及内存是否为多通道,我的机器是I7 3770,内存为双通道8GB,另外我电脑的主板还是比较老的,带9针串口的那种主板,估计也无法完全发挥CPU和内存的性能。对于编译QT这个配置已经没有什么问题,再提升估计也提升不了多少,对于Android如果用四条4GB内存那就更好了,如果使用了VMware,可以分配更大的内存,速度当然也更快了,Android编译中后期,很吃内存。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值