class="markdown_views prism-atom-one-light">
1.初识Qt
Qt(
官方网站 )是一个
跨平台 的
C++图形用户界面(GUI)库 :
图形用户界面
:Graphical User Interface;
C++
:使用c++语言开发,利用了c++语言的面向对象特性;
跨平台
:一次性开发应用程序,只需重新编译,便可部署在不同平台;
2.Qt在嵌入式Linux中的应用——Qt/E
Qt在嵌入式Linux系统中的应用称为
Qt For Embedded Linux
分支,简称
Qt/E
,那么Qt/E有什么独特之处呢?
嵌入式系统一个最大的特点就是
系统资源极其有限 ,相比标准桌面版Qt,Qt/E非常
节省内存 ,它在底层摒弃了Xlib,采用Framebuffer(帧缓冲)作为底层图形接口,Qt/E的应用程序可以直接写帧缓冲,避免了繁琐的Xlib/Server系统。
3.嵌入式Linux Qt应用程序开发流程
普通的Linux应用开发流程如下:
① 在桌面Linux环境下编写,调试;
② 使用交叉编译器编译出ARM可执行程序;
③ 将可执行程序上传到开发板(通常是SSH或者NFS);
④ 在开发板上执行程序;
嵌入式LInux Qt应用程序的开发和普通的Linux应用开发是一样的,只有一点不同:
Qt应用程序交叉编译时链接的是
动态库 ,何谓动态库呢?就是编译器只告诉程序该使用哪些库,程序运行时再去调用这些库运行,而在
开发板上是没有Qt的运行库的 ,所以我们拿到开发板后,
使用交叉编译器编译Qt源码,得到Qt库,将这份Qt库复制两份 :
一份放在开发主机上,供编译器调用;
一份放在开发板上,供程序执行时调用;
这个过程称为
Qt移植 ,具体流程如图所示:
4.选择Qt4还是Qt5
Qt目前已经更新到
Qt 5.12 LTS
版本,主要有两个分支:
值得一提的是,
从Qt5开始,Qt只提供桌面开源版本(Windows、MAC、Linux),不提供嵌入式系统开源版本,所以我们想要使用开源的Qt嵌入式版本只能选择Qt4 。
如果我们仅仅开发桌面系统下的Qt应用 ,建议选择最新版本的Qt5
(下载链接 );
如果需要开发嵌入式系统中的Qt应用,为了相对应,建议选择使用Qt4
(下载链接 );
本系列教程的主要目的是为了开发嵌入式Linux下的Qt应用,所以我选择使用的版本如下:
Linux开发主机 :Qt 4.8.7
;
ARM Linux 开发板 :Qt 4.7.3
;
接下来就让我们一起从搭建环境开始,用Qt分别在桌面环境下和开发板上:Hello,World!
5.Qt开源社区
在学习之旅上,如果需要资料或者有什么不懂的问题,推荐一个比较好的良心社区:
Qt开源社区 。