您的位置:首页 > 编程语言 > Qt开发

配置编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5

2013-09-13 17:16 567 查看



【目标板】tiny6410

【虚拟机】Ubuntu-13.04

【编译器】arm-linux-gcc 4.3.2

触摸屏软件 tslib1.4.tar.gz tslib是触摸屏校准的库,这个是tslib源码,可以移植到嵌入式设备中对触摸屏进行校准在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。

Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。在Qtopia 4.*版本中,默认的Tslib版本为Tslib 1.4。在Qtopia 2.*版本中,默认的Tslib版本为Tslib 1.3

1.解压缩:tar -zxvf tslib1.4.tar.gz


2.运行./autogen.sh

./autogen.sh: 4: autoreconf: not found

是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装

automake 工具, (ubuntu 8.04)用下面的命令安装好就可以了。

sudo apt-get install autoconf automake libtool


3.运行

./configure --host=arm-linux --prefix=/opt/tslib-1.4 ac_cv_func_malloc_0_nonnull=yes

4.make

在make时出错,提示

In function ‘open’,

inlined from ‘main’ at ts_calibrate.c:229:11:

/usr/include/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments

make[2]: *** [ts_calibrate.o] Error 1

解决方法:

这是因为open函数的语法不符合最新的gcc,在/tests/ts_calibrate.c中加入open的第三个参数0777:

if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {

cal_fd = open (calfile, O_CREAT | O_RDWR, 0777);

} else {

cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777);


}

5.make install

编译安装成功如下图:






———————————————————————————————————————————————————————————————————

配置编译安装ARM平台qt: 下载页面:http://qt-project.org/downloads

选择 Qt
libraries 4.8.5 for Linux/X11 (230 MB)(Info) 得到qt-everywhere-opensource-src-4.8.5.tar.gz,这个和 Qt
libraries 4.8.5 for embedded Linux (230 MB)(Info) 是同一个文件,配置不同就可以编译出不同的版本

1.

在配置时添加参数: -no-pch

inline char q_atomic_swp(volatile char *ptr, char newval)

{

register char ret;

/*asm volatile("swpb %0,%2,[%3]"

: "=&r"(ret), "=m" (*ptr)

: "r"(newval), "r"(ptr)

: "cc", "memory");*/

ret=*ptr;

*ptr=newval;

return ret;

}​

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐