作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
注:此文成文较早,又因笔者2009年后再不对嵌入式技术进行研究,故没有维护本文,请自行根据现在的技术发展阅读此文。
架构了解:
首先要明白的就是QT各种版本之间关系和应用场景,否则十分郁闷,尤其是在编译和开发的时候。
首先介绍的是Qt-X11,这里的X11含义就是X Window 系统版本11的意思,这个版本就是在X11上跑的QT,简单的说是主机版的QT,用于开发X11(一般Linux)下的应用程序。里面有许多工具以后可能需要使用,比如uic、linguist、qvfb等,这些程序我们会在后边一一介绍。
然后说的是Qt-embedded,顾名思义是QT的嵌入式版本,它在原始Qt的基础上,做了许多调整以适合嵌入式环境。同Qt/X11相比,Qt /Embedded很节省内存,因为它不需要X server或是Xlib库,它在底层摒弃了Xlib,采用framebuffer(一种能够提取图形的硬件设备,是用户进入图形界面很好的接口)作为底层图形接口。Qt/Embedded的应用程序可以直接写内核帧缓冲,因此它在嵌入式linux系统上的应用非常广泛,在嵌入式GUI开发中可以理解为是基础类库。
最后说的是Qtopia,这个版本是Trolltech 公司为采用嵌入式Linux 操作系统的消费电子设备而开发的综合应用平台, Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。在嵌入式GUI开发中可以理解为是构建于 Qt/Embedded这个基础类库之上的一系列应用程序。
在下边的文档中我会介绍Qt-X11-3.3.8b的安装和基本使用,以及Qt-embedded3.3.8b的X86主机安装、S3C2440上的移植和基本使用,还有Qtopia-2.2.0的X86主机安装、S3C2440上的移植和中文化,主机环境是VMWARE6.5+Ubuntu8.04- desktop(没有进行任何升级,安装的新系统)。值得一提的是在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是两套不同的程序,Qt/Embedded是基础类库,Qtopia是构建于Qt/Embedded之上的一系列应用程序。但从版本4开始,Trolltech将 Qt/Embedded并入了Qtopia,并推出了新的Qtopia4。在该版中,原来的Qt/Embedded被称为Qtopia Core,作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为 QtopiaPlatform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone等。