免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1139 | 回复: 0
打印 上一主题 下一主题

移植Qtopia-opensource-src-4.3.2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-02 12:41 |只看该作者 |倒序浏览

1、下载
下载地址:
ftp://ftp.trolltech.com/qtopia/source/qtopia-opensource-src-4.3.2.tar.gz
2、准备工作
建立build目录和安装目录:
/opt/qtopia/source 源代码解压到该目录
/opt/qtopia/target 编译目录
/usr/local/qtopia 安装目录
3、编译tslib-1.3.tar.bz2
详细步骤如下:
# tar jxvf tslib-1.3.tar.bz2  
# cd tslib-1.3
# export CC=arm-linux-gcc
# export CXX=arm-linux-g++
# ./autogen.sh
# ./configure --prefix=/opt/tslib --host=arm-linux
# make
# make install
注意:
当然,在ubuntu下要先安装两个工具,如果没安装,./autogen.sh是通不过的,安装如下:
#sudo apt-get install libtool automake
Make 过程中有个错误,如下:
libtool:link: only absolute run-paths are allowed
要修改/tslib/plugins/Makefile里面找rpath将
LDFLAGS :=$(LDFLAGS) -rpath $(PLUGIN_DIR)
修改为:
LDFLAGS :=$(LDFLAGS) -rpath `cd $(PLUGIN_DIR) && pwd`
4、修改源代码
把qtopia-opensource-src-4.3.2.tar.gz解压到source里
#cp qtopia-opensource-src-4.3.2.tar.gz /opt/qtopia/
#tar –xzvf qtopia-opensource-src-4.3.2.tar.gz
#mv qtopia-opensource-4.3.2 source
修改如下:
#cd source
# vi qtopiacore/qconfig-qpe.h
首先注释掉关于鼠标光标的宏定义,让程序运行时,触摸屏中央有光标出现:
// Qtopia Core
/*
#ifndef QT_NO_QWS_CURSOR
#  define QT_NO_QWS_CURSOR
#endif
*/
/*
#ifndef QT_NO_QWS_MOUSE
#  define QT_NO_QWS_MOUSE
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
#  define QT_NO_QWS_MOUSE_AUTO
#endif
*/
其它宏定义根据需要进行注释。
保存后将qconfig-qpe.h拷贝到global目录。
# cp qtopiacore/qconfig-qpe.h qtopiacore/qt/src/corelib/global/qconfig-qpe.h
注释掉其他文件里的QT_NO_QWS_CURSOR的定义
# vi qtopiacore/qt/src/corelib/global/qfeatures.h
注释掉如下内容:
/*
#if !defined(QT_NO_QWS_CURSOR) && (defined(QT_NO_CURSOR))
#define QT_NO_QWS_CURSOR
#endif
*/
保存退出。
# vi qtopiacore/qt/src/corelib/global/qglobal.h
注释掉以下内容:
//#    define QT_NO_QWS_CURSOR
5、配置、编译qtopia
#cd /opt/qtopia/target
#../source/configure -release -image /usr/local/qtopia -prefix /usr/local/qtopia -xplatform
linux-arm-g++ -arch arm -no-qvfb -displaysize 800x480 -no-modem -extra-qt-config “-little
-endian” -extra-qtopiacore-config "-release -xplatform qws/linux-arm-g++ -embedded arm -
qconfig qpe -depths 8,16,32 -qt-sql-sqlite  -qt-kbd-usb -no-kbd-tty -no-mouse-linuxtp  -qt
-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib"
主要配置选项解说如下:
-xplatform linux-arm-g++ -arch arm 目标平台为arm-linux,体系结构为arm。
-no-qvfb  目标平台已支持framebuffer,因而不使用虚拟帧缓冲。
-extra-qtopiacore-config 为Qtopia core 配置选项。
-xplatform qws/linux-arm-g++ -embedded arm 目标平台编译配置文件使用
qtopiacore/qt/mkspecs/qws/linux-arm-g++目录下的配置文件,嵌入式平台为arm。
-qconfig qpe 使用配置文件qconfig-qpe.h,若使用qconfig-large.h配置文件,则使用-qconfig large
选项。
-qt-sql-sqlite 数据库支持Sqlite。
-qt-kbd-usb 键盘支持usb协议。
-no-mouse-linuxtp -qt-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib 触摸屏协议不支持
linuxtp,支持tslib,并在后面添加上刚才编译的tslib的头文件和库。
#make
#make install
Make 过程会出现一些问题,无非就是一些库没安装,装上即可。
编译完后,把opt/tslib/lib下的库复制到/usr/local/qtopia/lib下
6、进入开发板,配置与运行
#mount –t nfs 192.168.2.223:/ /tmp –o proto=tcp –o nolock
#mkdir –p /usr/local/qtopia
#mount /tmp/usr/local/qtopia /usr/local/qtopia
#cd /usr/local/qtopia/bin
#export QWS_DISPLAY="LinuxFb:mmWidth35:mmHeight45:0"
#./qpe &
如果没问题民,就成功了。
后记:
1、编译完tslib后,要换一个终端来编译qtopia,就是取消环境变量CC和CXX,否则就会出现错误
2、触摸还没校准,可能是内核的触摸驱动没调好,也可能是环境变量还没设好
3、因为开发板的文件系统下已有时区,刚好是在/usr/share/zoneinfo下,所以不用复制过来了
4、参考来源:
http://blog.csdn.net/sabalol/archive/2009/01/08/3737093.aspx


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91092/showart_1916162.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP