之前对X11 FRAMEBUFFER理解的不够,现在总结一下
Qt
Embedded是挪威Trolletch公司的图形化界面开发工具Qt的嵌入式版本,它通过QtAPI与LinuxI/O以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式。
Qt/Embedded在原始Qt的基础上,做了许多出色的调整以适合嵌入式环境。同
Qt/X11相比,Qt/Embedded很节省内存,因为它不需要Xserver或是Xlib库,它在底层摒弃了Xlib,采用framebuffer
作为底层图形接口。Qt/Embedded的应用程序可以直接写内核帧缓冲,因此它在嵌入式linux系统上的应用非常广泛。
Qt/Embedded 与
Qtopia
在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是两套不同的程序,Qt
/Embedded是基础类库,Qtopia是构建于Qt/Embedded之上的一系列应用程序。但从版本4开始,Trolltech将Qt
/Embedded并入了Qtopia,并推出了新的Qtopia4。在该版中,原来的Qt/Embedded被称为QtopiaCore,作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为Qtopia
Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone等
X11(X Window
System)是一个用于X Server和X Client通信协议。 Xlib将X11具体为一个个的功能函数。
Qt、Gtk+等为了更方便的利用Xlib,对其进行再封装,形成了多组件应用程序开发框架(widget toolkits)。
Qt有3个版本,商业版和免费版(GPL和LGPL)。Qt是跨平台的,所以为四个OS平台开发了不同的产品:面向Linux的就叫Qt/X11,这个实际上是使用Xlib库;面向嵌入式Linux就叫Qt/Embedded,这个采用直接同Linux
I/O或Framebuffer打交道;再就是面向Mac OS X和面向Windows的产品(?可能就直接叫做Qt)。基于Qt有最成功的产品 ---
KDE。基于Gtk+有最成功的产品 --- GNOME。二者基本成为Linux 桌面版本的标准组成部分。
以下内容整理自互联网。
我们一般的开发情况是这样的:
在跑linux 的PC上安装基于
X11的PC版本和基于Embedded的嵌入式版本。
之所以要安装PC版本,是因为我们的开发环境一定是PC平台,在PC上设计好QTE,编译好后是无法在PC上运行的,无法调试。
所以安装基于X11的PC版本,就可以调试了。因为QT是跨平台的。
所以我们平时是这样开发的:在基于X11的PC上设计好,达到我们的要求后,用目标平台的环境编译程序,拷贝到开发板即可运行。
说白了
就是搭建两个编译环境,根据你的目的选择编译环境而已。当然 嵌入式的QT相关文件必须拷贝到开发板的文件系统里哦
这儿配上一幅图片大家什么都明白了