配置编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5
来源:互联网 发布:日本建筑风格 知乎 编辑:程序博客网 时间:2024/04/30 22:41
【目标板】tiny6410
【虚拟机】Ubuntu-13.04
【编译器】arm-linux-gcc 4.3.2
触摸屏软件 tslib1.4.tar.gz tslib是触摸屏校准的库,这个是tslib源码,可以移植到嵌入式设备中对触摸屏进行校准在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。【目标板】tiny6410
【虚拟机】Ubuntu-13.04
【编译器】arm-linux-gcc 4.3.2
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
./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.
./configure -v -prefix /opt/qt-4.8.5-arm -opensource -confirm-license -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -make tools -make examples -make demos -make translations -no-nis -no-cups -iconv -no-dbus -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.4/include -L/opt/tslib-1.4/lib
You might need to modify the include and library search paths by editingQMAKE_INCDIR and QMAKE_LIBDIR in/home/Raymond/qt-embedded-arm-tslib/mkspecs/qws/linux-arm-g++.
解决办法:
是arm-linux-gcc的路径没有添加到系统变量中
1.修改profile文件:
#vi /etc/profile
在里面加入:export PATH="$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin"
2.修改.bashrc文件:
# vi /root/.bashrc
在里面加入:export PATH="$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin"
注意修改后的更新,如source /etc/profile
2. make
make[1]: 正在进入目录 `/home/duliqun/qt-everywhere-opensource-src-4.8.5/src/corelib'
g++ -c -include .pch/release-shared-emb-arm/QtCore -pipe -I/opt/tslib-1.0/include -fno-exceptions -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_QLOCALE_USES_FCVT -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DELF_INTERPRETER=\"\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared-emb-arm -o .obj/release-shared-emb-arm/qabstractanimation.o animation/qabstractanimation.cpp
../../include/QtCore/../../src/corelib/arch/qatomic_armv5.h: Assembler messages:
../../include/QtCore/../../src/corelib/arch/qatomic_armv5.h:131: Error: no such instruction: `swpb %cl,%dl,[%ebp]'
../../include/QtCore/../../src/corelib/arch/qatomic_armv5.h:131: Error: no such instruction: `swpb %dl,%sil,[%ebp]'
{
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;
}
ssl/qsslsocket_openssl_p.h:66:26: 致命错误: openssl/asn1.h:没有那个文件或目录编译中断。
make[1]: *** [.obj/release-shared-emb-arm/qsslcertificate.o] 错误 1
make[1]:正在离开目录 `/home/duliqun/qt-everywhere-opensource-src-4.8.5/src/network'
make: *** [sub-network-make_default] 错误 2
sudo apt-get install libssl-dev
- 配置编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- 编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- 配置编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5
- s3c2410上搭建QT/Embedded4.8.5开发环境(二)--安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- 编译 qt-everywhere-opensource-src-4.8.1
- 安装qt-everywhere-opensource-src-4.8.6
- DM8168 --交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- 交叉编译ARM版Qt(qt-everywhere-opensource-src-4.8.4)
- DM8168 --交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.8.4)
- qt-everywhere-opensource-src-5.6.2 编译
- s3c2410上搭建QT/Embedded4.8.5开发环境(四)--安装intel-x86 X11平台qt库qt-everywhere-opensource-src-4.8.5
- s3c2410上搭建QT/Embedded4.8.5开发环境(三)--安装intel-x86嵌入式平台(基于qvfb)的qt库qt-everywhere-opensource-src-4.8.5
- qt-everywhere-opensource-src-4.8.4 编译出错
- Linux环境下qt-everywhere-opensource-src-4.8.6配置
- build qt-everywhere-opensource-src-4.8.0
- 交叉编译ARM版 Qt (qt-everywhere-opensource-src-4.7.3)
- 收藏的blog和论坛
- 从零开始学习jQuery (十) jQueryUI常用功能实战
- 底层的CCMenu 穿透弹出框Touch事件 解决方法
- nyoj-204Coin Test
- 搜狗手机输入法
- 配置编译安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- 10.3.6 TCP传输连接建立
- String类型转换为Date类型
- 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
- 内存映射文件实现多进程通信
- 从零开始学习jQuery(剧场版) 你必须知道的javascript
- 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
- 张乐博士的最大熵模型
- 搜索一个目录下名字中有key的目录和文件