第一步、背景介绍
1、Qt版本介绍
首先介绍一下Qt所能生成出来的各个不同版本之间的区别。
根据所应用的目标系统不同,同一份Qt源码编译后所生成的版本也是不一样的。大致来说分为3种:
-
第一种是在linux系统上编译完后仍然在linux系统上运行的,称为x11版本(至于为什么叫x11,这是因为linux系统的应用程序与视窗程序之间是通过X窗口系统的X11协议进行交互,所以称之为x11系统。具体请自行百度);
-
第二种是在linux系统上编译完后转移到arm平台上运行的,称为Embeded arm版本,编译完后的文件必须烧录到arm处理器上运行,在PC端无法运行;
-
第三种称之为Embeded x11版本,也叫做qvfb版本。这里要解释一下,如前所述,lixnu的应用程序是以X11协议(X窗口系统)输送到屏幕显示界面的,X server负责图形显示,应用程序负责计算、修改数据,两者基于某种协议通信。对于嵌入式linux,qt应用程序同样也需要一个窗口系统才能显示,但是嵌入式linux系统不能使用X11(太耗资源了),奇趣公司就专门开发了一个qws(QT
windows system), 应用程序按照协议向qws发送数据,服务端负责显示数据。换句话说,qvfb就是qws的显示设备。不过要注意的是,embeded x11版并不是我们的开发板最终使用的Qt库,编译这个版本只是为了方便我们调试, 先在PC中仿真运行,看看界面,不必下载到开发板的文件系统中运行,两者的运行效果除了界面基本相同,其他方面还是有差异的。
经过上述分析可以看出,其实,我们做嵌入式开发,只需要涉及到后面2种版本,第一种版本的只有桌面应用程序开发的人才需要使用。而对于后面2个版本,严格来说只需编译Embeded arm版本的程序就好,因为它才是最终在arm平台上运行的版本。但是,如果只编译Embeded ARM版本的话,每次编译完都得下载到开发板上去运行才能看到效果,开发过程太过麻烦,因此我们才需要引入Embeded x11版本,借助于PC端的显示系统,快速完成界面部分的调试。所以,综合起来可以这么说,编译x11 版本的目的是为了方便学习Qt,编译Embeded
x11是为了体验仿真效果,编译Embeded ARM版本才是为了完成嵌入式程序开发。
2.qt下载
QtLib版本: qt-everywhere-opensource-src-4.8.6.tar.gz
点击下载 下载链接为qt官网,下同
QtCreator版本:qt-creator-linux-x86_64-opensource-2.5.2.bin 点击下载
3.安装步骤
3.1qvfb安装
0.准备: 安装必须的qt
所依赖的一些系统库 这个很重要,不然后面会出现各种错误,而且还百度不出来,比如有下面的错误,等等。。。
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
1.解压: 在hme目录下,新建一个文件夹qt,然后将上面下载下来的文件在这个文件夹下解压出两份,分别重命名为qt-qvfb,qt-x11。
2.进入qt-x11目录 安装
./configure -opensource -confirm-license -prefix /usr/local/Trolltech/Qt-x11-4.8.6
sudo make
sudo make install
漫长的编译,安装
注意,
一定要sudo 不然后面会出现莫名其妙的错误
make
3 .然后编译qvfb 目录如下
4.编译成功后添加环境变量export QTDIR=/usr/local/Trolltech/Qt-x11-4.8.6
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
5.然后复制可执行文件到安装目录下
添加完后
6.生效环境变量source /etc/profile
7.运行qvfb -width 800 -height 400
得到下面的,可以知道qvfb安装成功
.
到这为止,qvfb安装成功!
3.2 下面安装qtcreator
1. 修改权限,将下载的文件修改权限为可执行
执行
./qt-creator-linux-x86_64-opensource-2.5.2.bin
出现安装界面,一路next
随意截的图
安装成功