LINUX系统中QT(qtopia)平台开发说明

lynette_z 2007-12-12 02:13:45
LINUX系统中QT(qtopia)平台开发说明
=================================
黄德智(compiler_hdz@hotmail.com)
V:1.0
日期:20060305

QT 版本 :20060106V2


一、开发包的获取
================

最新的qtopia开发包名称为:qtopia_dev20060106V2.tar.gz;
当前版本为20060106V2,大小大约为 246M。

当前和后续版本也可在 东信 的FTP网站上下载得到.

二、开发环境的搭建
==================

qtopia开发包运行于LINUX操作系统上,LINUX要求内核版本为2.4.18或以上。安装LINUX操作系统,
如果只是在PC机上进行模拟器上的开发和交叉编译,可将LINUX安装到虚拟机上。将LINUX安装到虚拟机上,
建议硬盘空间最少分配6G,因为开发环境的搭建需要很大空间。

1、qtopia开发包的安装步骤:
(1)、将qtopia_dev.tar.gz放到/opt/目录下
建议放在/opt/目录下,如果需要将开发包放到其他的目录,则解压后需要修改
qtopia-phone-2.1.1/src/下的config.pri文件。
(2)、用命令tar解压
在LINUX终端中CD到/opt/目录下,输入命令 tar -zxf qtopia_dev.tar.gz (回车),
几分钟后解压结束,出现命令提示符,如果报找不到什么目录或找不到什么文件,输入命令“df -m”
查看硬盘使用情况,一般原因是硬盘空间不足,解压失败,删除硬盘上不需要的文件或重新安装LINUX操作
系统,把分配硬盘空间更大。
(3)、解压后生成的目录为qtopia_dev

2、交叉编译工具的安装步骤:

(1)、将cross2compiler.tar.gz放到/opt/目录下
(2)、用命令tar -zxf cross2compiler.tar.gz 解压
(3)、解压后生成的目录为debugdir
交叉编译工具的安装是为了编译出在真机上运行的可执行文件,如果只是在模拟器上开发,可不
进行交叉工具的安装。

三、模拟器上开发
================

1、配置文件和全局变量的设置:
(1)、将.../qtopia_dev/.../x86/Settings目录放到/root/目录下,如果已经有/root/Settings目录,
则进行覆盖。
(2)、进入qtopia_dev/.../.../x86/目录。(中间目录省略)
(3)、运行 ./setenv 设置环境变量,或source setenv命令。

2、编译例子工程:
在目录.../qtopia_dev/20060106V1102/x86/qtopia-phone-2.1.1/examples/application/下有一个名为
application的示例工程,对该工程进行编译和安装,可在模拟器中看到运行效果。
编译步骤:
(1)、进入qtopia_dev/.../.../x86/qtopia-phone-2.1.1/examples/application目录;
(2)、运行qmake生成Makefile 文件;
(3)、运行make install 进行编译和安装。

3、模拟器上查看运行效果:
(1)、进入.../qtopia_dev/20060106V1102/x86/目录
(2)、运行./rn.dat 启动模拟器

4、各个文件安装路径:
(1)、所有编译后的程序放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目录下;
(2)、程序相应的desktop文件放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目录下
(3)、所有的程序图标放在qtopia_dev/.../.../x86/pia-phone-2.1.1/image/opt/Qtopia/pics/程序名/目录下

5、示例工程中的各个文件

(1)、application.pro文件
该文件中指定工程中用到的各个文件,文件包括:源代码文件(.c .cpp .h)、资源文件名、目标文件名、
desktop文件及路径、图标文件及路径、帮助文件及路径。
qmake命令在执行过程中访问application.pro文件将生成Makefile文件。

(2)、example.desktop文件
该文件将安装到模拟器和真机上,为了在运行时找到工程的各个文件。

(3)、example.control文件
文件中指定了工程的可执行文件路径、desktop文件路径、帮助文件路径和图标文件路径。
这个文件我现在还没有搞清楚:)

(4)、examplebase.ui文件
该文件中以XML的格式定义了可视窗口上的各个部件。

(5)、其它文件
example.html和Example.png分别是工程的帮助文件和图标文件。

6、建立自己的工程

(1)、在示例工程的基础上建立自己的工程:
新建一个自己工程的目录,将示例工程中的相关文件复制到该目录,在示例工程的基础上进行修改。
需要复制的文件有:main.cpp、application.pro、example.control、example.cpp、example.h、example.desktop、
examplebase.ui、Example.png、example.html。

(2)、修改事项:
application.pro文件:
A、“application.pro”文件以.pro为扩展名,文件名要和它所在的目录名相同;
B、11行,写上所有工程中用到头文件,文件名之间用空格隔开;
C、12行,写上所有工程中用到.c或.cpp文件,文件名之间用空格隔开;
D、13行,可视窗口文件名;
E、14行,生成可执行文件名(目标文件名);
F、18行,.desktop文件名;
G、22行,图标文件名;
H、23行,图标路径名,以目标文件名为目录名;
I、26行,说明文件名;

.desktop文件
A、7行,可执行文件名;
B、8行,图标文件名;

.ui文件,该文件可用QT开发环境修改,也可用文本编辑器修改,
A、第2行,<class>ExampleBase</class>,“ExampleBase”可修改,但一定要与example.h文件的25行父类名称一致;

main.cpp文件
A、该文件名不修改;
B、21行,修改包含的头文件名;
C、24行,修改类名;

(3)、编译自己的工程
A、生成Makefile文件,在工程的目录下,运行qmake命令;
B、编译,在工程的目录下,运行make命令;
C、安装,在工程的目录下,运行make install命令;

四、为真机上运行进行编译
========================
将代码用arm编译器进行编译,目标文件就可在真机上运行。
1、必须进行交叉编译工具的安装;
2、将工程目录复制到.../qtopia_dev/20060106V1102/arm/qtopia-phone-2.1.1/目录下;
3、编译;

五、将文件安装到真机上
======================
1、设备间的软件连接:
连接步骤:
(1)、连接好个连线
(2)、启动PC到LINUX系统中
(3)、关闭防火墙(service iptables stop)
(4)、挂载进QT的开发包(mount /dev/hda4 /mnt/win)
(5)、手动加载usbdnet.o(进入/mnt/win目录下,执行install),并在终端确认模块已经加载
(6)、启动(重起)nfs(service nfs restart)
(7)、启动minicom(#minicom)
(8)、到/home/目录下,执行脚本pc_linux
(9)、在终端启动USB设备(ifconfig usb0 192.168.254.1 up)
(10)、在minicom窗口中执行/home/目录下的linuxrc_run脚本
(11)、在minicom窗口中执行/home/目录下的脚本pc_linux
(12)、检查目录/mnt/,是否和目录/opt/p2fs下的内容一致,若一致,则成功

这里提供几个诊断连接成功的方法:

pc启动候,通过lsmod|grep usbdnet看看模块是否存在,如果不存在,请手动通过./install加载

如果以上都正确,连接手机,如果ifconfig -a 能看到设备而ifconfig 看不到,请按照文档设置ip并激活。

2、文件安装目录:
将编译好的程序、desktop文件和图标放在手机上/opt/Qtopia/各自对应的目录下。

(1)、所有编译后的程序放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目录下

(2)、程序相应的desktop文件放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目录下

(3)、所有的程序图标放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/pics/程序名/ 目录下

3、重起手机。

六、手机目录:
/ (根目录)
|----bin
|----lib
|----home
|----mnt (对应于PC机的/opt/p2fs目录,该目录结构可随意)
|
|----opt
| |----Qtopia
| |----bin (放编译后的程序)
| |----etc
| |----pics (放图标文件)
| |----apps
| |--Applications (放desktop文件)
|
|----Applications (该目录结构任意,可存放工程自己的文件)


结束
====

...全文
952 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
rzsheng 2008-05-12
  • 打赏
  • 举报
回复
谢谢分享!
liushaobin 2008-05-11
  • 打赏
  • 举报
回复
我也很需要,谢谢
a525483 2008-05-11
  • 打赏
  • 举报
回复
值得一收藏
JieenRo 2008-05-04
  • 打赏
  • 举报
回复
值得一收藏
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
这个简单啊,网上搜一下就得到答案了.
老腊肉泡酒 2008-03-18
  • 打赏
  • 举报
回复
好东西.太强大了.
panada_chen 2008-03-17
  • 打赏
  • 举报
回复
小弟想在Qt中用opengl实现一个3D的GUI不知是否可行,希望赐教!
SuperManZeng 2008-02-24
  • 打赏
  • 举报
回复
不错,刚刚开始学习qt编程!谢谢。
jylnn 2007-12-13
  • 打赏
  • 举报
回复
谢谢,过一段时间就要用到这个了,收藏.....
NKLoveRene 2007-12-13
  • 打赏
  • 举报
回复

支持写文档
一直以来,QT的移植作为嵌入式学习的一大难题, 始终困扰着初入此行的工程师。这方面的资料虽然不少,但仍不够系统和详细,使得学习起来相当吃力。初学者常常因为一个细节没有注意到而花费过长的时间;同时,QT本身比较庞大,涉及的知识点较多,这也给学习带来很大的障碍。本手册由飞凌一线工程师撰写,并经过反复测试和修改,力图使广大用户迅速掌握QT的移植方法。需要说明的是,这里详细介绍了QT移植方面的知识,关于应用开发方面的内容将单独作为一个教程来讲解。 飞凌嵌入式为您带来全新的根文件系统Qtopia2.2、Qtopia4.4.3、 Qt/E4.7的编译方法以及源码、tslib最新版本——tslib1.4。 为了配合讲解,首先要说明一下 1.本次发布Qtopia4.4.3+Qtopia2.2.0 +Qt/E4.7 需要更新内核文件。新的内核nandflash的 mtdblock3分区有500MB,使文件系统能存放Qtopia桌面环境及应用程序。为了验证自己编译的QT是否可以运行,您要学会使用开发板启动 Linux并挂载nfs(网络文件系统)。nfs启动linux在OK6410的Linux使用手册有详细的讲解。 2. Qtopia2.2.0是PDA版本,一个比较传统的版本。很早之前,飞凌推出了Qtopia2.2.0在 Redhat Linux 9移植方法,许多朋友一直在使用Qtopia2.2.0。为此,我们拿出时间来,在Ubuntu Linux9.10环境移植Qtopia2.2.0,为飞凌的老朋友和新朋友送上了Qtopia2.2.0全新环境的编译方法。飞凌使用的Qtopia4.4.3是诺基亚发布最终的手机桌面版本,也是目前嵌入式开发平台上很流行,具有超酷的桌面环境。由于Qt/E4.7.0的库存在bug,而Qt/E4.7.1修复了这些bug,所以此次提供的版本是Qt/E4.7.1库。为了便于描述,以下将Qt/E4.7.1简称Qt/E4.7。

3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧