最新QT4.8+kernel_3.2.5+uboot_2010.06+tslib移植成功-问题小结

2012-02-19 21:34:13

都是从源码下载然后自己修改,使用与TQ2440,之前uboot其实已经完成了。但是yaffs2没带起来。现在回头看来是很简单的了。bootargs参数中我设置成了ramdisk但是无法挂载yaffs2啦。修改了下就可以了。

安装配置QT4.8到是花费了大半天的时间。但是最后还是装好了。然后根据官网的帮助文件,学习了QT基础。和C++编程类似。做了和hello窗口做测试。没想到还遇到了些问题。记录下。

文件系统在开发板上起来后,触摸ts_calibration是错误的。但是我先没管。把qmake(arm版本)编译的hello下载到sbin目录下,然后执行。出现如下错误
1,./hello
./hello: /lib/libc.so.6: version `GLIBC_2.9‘ not found (required by
/usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtGui.so.4)
./hello: /lib/libc.so.6: version `GLIBC_2.10‘ not found (required by
/usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtNetwork.so.4)
./hello: /lib/libc.so.6: version `GLIBC_2.9‘ not found (required by
/usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/libQtCore.so.4)
分析原因
因为,我把之前文件系统中的qte相关文件都删除了。添加了tslib所有文件及qt-everywhere-opensource-src-4.8.0编译安装后产生在/usr/local/Trolltech/QtEmbedded-4.8.0-arm中的lib文件夹copy到了开发板文件系统中。然后修改了etc/profile及etc/init.d/rcS的启动及配置文件。
此问题出来lib文件夹下,是arm-linux-gcc编译器的库文件。由于我用比较高级的arm-linux-gcc版本编译qt。所有也要在lib下移植比较新的arm-linux-gcc版本lib。
解决
把lib文件夹内容更新。用新的编译工具的库代替。

2,./hello 后又产生一个问题
QWSSocket::connectToLocalFile could not connect:: No such file or directory
解决:
网上查了下原来要添加“-qws”后缀

3,./hello -qws后出现问题
QWSTslibMouseHandlerPrivate: ts_open() failed with error: ‘No such file or
directory‘
Please check your tslib installation!
网上查后,修改了环境变量
error:QWSTslibMouseHandlerPrivate: ts_open() failed with error: ‘No such file
or dire‘
solve: Please check your tslib installation!
add:export
QWS_MOUSE_PROTO=tslib:/dev/event0

4,./hello -qws后出现问题
还是如上问题。于是想到我的ts_calibration是有提示出错的。需要先解决ts_calibration出错的问题。
错误显示为tslib: Selected device uses a different version of the event protocol than
tslib was compiled for
解决:
我想到之前我也遇到过,是把kernel中的linux/input.h中的EN_VERSION改成和tslib中的一致。由于我现在是新下载的tslib再编译的,所以,可能正好对于新的kernel3.2.5于是我又改回来了。没有问题咯,不会报错了。ts_calibration也能正常工作了。

5,报错,少了文件libstdc++.so.6。于是我看来看之前的lib目录是有此文件了。copy到lib下即可。
6,可是显示的字体很小。都看不清。
于是网上查了下要配置QWS_DISPLAY参数
        export set
QWS_DISPLAY=LinuxFB:mmWidth200:mmHeight100:0
        export set QWS_SIZE=320x240
最后就能把字体变大了。当然在hello软件里也可以修改。

7,usb鼠标及触摸屏后鼠标都不动。
后来查到原因,是QWS_MOUSE_PROTO配置参数的问题,到qt官网去查详细的参数。如下。
Specifies the driver for pointer handling. For example, if the current shell is
bash, ksh, zsh or sh:
 export QWS_MOUSE_PROTO=<driver>[:<driver specific options>]
The valid values for the <driver> argument are MouseMan, IntelliMouse,
Microsoft, VR41xx, LinuxTP, Yopy. Tslib and keys identifying custom drivers,
and the driver specific options are typically a device, e.g., /dev/mouse for
mouse devices and /dev/ts for touch panels.
Multiple keyboard drivers can be specified in one go:
 export QWS_MOUSE_PROTO="<driver>[:<driver specific
options>]
         <driver>[:<driver
specific options>]
         <driver>[:<driver
specific options>]"
Input will be read from all specified drivers. Note that the Vr41xx driver also
accepts two optional arguments: press=<value> defining a mouseclick (the
default value is 750) and filter=<value> specifying the length of the
filter used to eliminate noise (the default length is 3). For example:
 export QWS_MOUSE_PROTO="Vr41xx:press=500:/dev/misc/ts"
解决:
所以最后修改driver名称为Tslib及MouseMan.即可.

# ./hello -qws显示如下

原文地址:https://www.cnblogs.com/AppleCai/p/10778185.html

时间: 2024-10-20 14:38:09

最新QT4.8+kernel_3.2.5+uboot_2010.06+tslib移植成功-问题小结的相关文章

Qt4.8.6 Embedded Linux 的编译与移植

最近买了个飞凌ok6410 的开发板,于是在其中搭建qt4.8.6运行环境.费了两三天时间,主要还是对Linux系统的生疏,在一些问题上徘徊很久,在这里做一些过程笔记.烧写ARM-Linux系统,根据飞凌官方的用户手册成功为开发板烧写了U-boot.kernel3.0.1.以及rootfs.yaffs(均由飞凌官方提供). 编译环境: PC:Ubuntu12.04 LTS,Vmware Workstation 10.0.5 build-2443746 Qt:4.8.6 qt-everywhere

移植Qt与Tslib到X210开发板的体会

1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压到了/root/xin_210/下 @3:选择固定的交叉编译工具连,内核,tslib,QT源码都要用这一个编译,我用的是arm-2009q3.这个工具链中的arm-none-linux-gnueabi/libc/usr/include/linux/input.h中的EV_VERSION宏的的值要和内

海思 3520D 移植Qt4.5.3 一

一.移植Qt4.5.3 1.获得 Qt4.5.3 的源代码Qt4.5.3源代码的原始包 qt-embedded-opensource-src-4.5.3.tar.gz 将其拷贝到 /opt 下, 然后在linux终端上输入如下命令(不用键入#),在/opt/下解压Qt4.5.3的源码包 # cd /opt/ # tar xvzf /opt/qt-embedded-opensource-src-4.5.3.tar.gz 2.交叉编译Qt4.5.3 2.1.#vim mkspecs/qws/linu

关于tiny4412自写qt4程序打开摄像头的实践手记

一.本想着偷懒借用opencv自带的VideoCapture类直接在arm上打开摄像头读取数据,失败. 百度原因,需要编译arm版本的opencv时将V4l2的支持编译进去,而其需要一大堆库的支持,了解详细时才恍然大悟之前看到的一些opencv移植教程中提到的交叉编译ffmpeg等库,皆是基础. 放弃此方案. 二.继续想偷懒,借用网上能找到的各种V4L2的qt4的demo打开摄像头,然后将数据传递给opencv的Mat类型(毕竟用习惯了,顺手). 于是乎开始下载网上各种demo,csdn那点分数

Pocketchip安装Love2D(最新11.3)折腾分享[成功]

Love2d是一款游戏引擎,基于C/C++编写,使用Lua脚本进行封装,简单易用.跨平台. Pocketchip换源.更新以后,通过sudo apt-get -f install love安装的版本实在是太老了(0.9). 当然,0.10.2比0.9稍微新一点,但是还是相对太老了,我试过,No909.love无法正常运行,因为它是基于11.1版本编写的. 所以这次我尝试安装最新的11.3版本.目标是能够运行GameShell默认自带的No909.love. 准备工作 1. 下载Love2D_11

linux 下安装编译配置 QT

打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来. 软件环境 Linux:Ubuntu 12.04 X86 QT:4.8.4 关于QT安装 QT的早期版本和现在版本有点变化,提供的文件也不尽相同,最新的版本为5.0,我这里用的是4.8.4,一个完整的QT应该包括QT库.IDE也就是QT creator,在Linux下的安装中,目前看到的主要有三种方法: 1..bin

Python爬取CSDN博客文章

之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

【Android】ButterKnife 简单原理实现

ButterKnifeProcedure ButterKnife的原理简述 示例代码ButterKnifeProcedure Pluggable Annotation Processing 注解处理器Java5 中叫APT(Annotation Processing Tool),在Java6开始,规范化为 Pluggable Annotation Processing. 第一步(收集信息) 找到所有被注解的属性或者方法,将所有的信息收集到对应的"类数据集"中. 第二步(生成源文件) 根

ButterKnife的原理简述

注解处理器Java5 中叫APT(Annotation Processing Tool),在Java6开始,规范化为 Pluggable Annotation Processing. 第一步(收集信息) 找到所有被注解的属性或者方法,将所有的信息收集到对应的“类数据集”中. 第二步(生成源文件) 根据每一个“类数据集”,生成对应的java源文件.由于这些文件并不是在运行时生成的,因此也无需动态编译,注解处理器运行完成之后,编译器会处理所有的编译流程. 第三步(动态注入) 运行时动态注入,即用户常