按照不同的图形界面来划分,分为四个版本:
Win32版:适用于windows平台;
X11版:适用于各种X系统的Linux和Unix平台;
Mac版:适用于苹果的MacOS;
Embedded版:适用于具有帧缓冲(Frame buffer)的linux平台;
Qtopia是基于qt开发的一个软件平台,Qtopia是构建于Qt/E之上的一系列应用程序,在这个平台上我们可以开发各种应用程序。
总的来说,QT也就三种:面向桌面的x11、面向嵌入式的Qt/E、以及面向嵌入式带各种应用程序的Qtopia桌面系统。
Qt开发资源包下载地址:
https://download.qt.io/official_releases/
构建Qt/Embeded的交叉编译环境需要3个Qt开发环境:
Qt的桌面开发环境:在linux中全安装qt,用它编译好的程序后,可以直接用“./”运行。
Qt/Embeded(x86)环境:在宿主机平台模拟编译和调试目标机程序的环境,带有qvfb功能,在PC机上可以模拟应用程序在arm开发板上的运行情况。用此编译好的程序,只用“./”命令不可以运行,必须加上参数 -qvfb -qws。
Qt/Embeded(ARM)交叉编译环境:编译好的程序,用于在arm平台上运行。
首先要准备好交叉编译所需要的软件包:
- gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2(交叉编译环境)
- qt-everywhere-opensource-src-5.9.0.tar.xz(Qt的源码)
- qt-creator-linux-x86_64-opensource-2.5.2.bin(我的系统是64位,所以选择x86_64)
- tslib-1.4.tar.gz(触摸屏校验工具)
qt资源下载地址:
http://download.qt.io/archive/
Qt开发环境搭建
安装QtCreator
qt-creator-linux-x86_64-opensource-2.5.2.bin 拷贝到linux系统中,在终端中把路径切换到qt-creator-linux-x86_64-opensource-2.5.2.bin所在的路径,
运行命令:
$ ./qt-creator-linux-x86_64-opensource-2.5.2.bin
就会出现图形安装界面;下面的安装步骤就和我们在windows下安装软件差不多。
编译Qt库源码
将源码 qt-everywhere-opensource-src-5.9.0.tar.xz 进行解压,并复制三份到/usr/local目录下,并分别命名为qt-pc,qt-x86,qt-arm。
编译PC版
进入qt-pc目录,执行如下操作:
$./configure $ make $make install
编译过程中出现的问题:
出错:Basic XLibfunctionality test Failed!
这个错误主要是因为,XLib库没有安装,所以在编译X11平台时,应该保证,以下命令正确执行:
sudo apt-get install libx11-dev libxext-dev libxtst-dev
注意:可以使用 make confclean 命令 把以前的配置信息清除掉,然后再重新配置。
编译x86版
进入qt-x86目录,执行如下操作:
$ ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb $ make $ make install
安装过程比较长,没有碰到过错误。
编译安装PC版中的 qvfb:
进入qt-pc/tools/qvfb/目录,执行如下操作:
$ make
编译完毕,将qt-pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-5.9.0/bin目录。
编译qvfb时,出现了如下错误:
x11keyfaker.cpp:48:34: 致命错误: X11/extensions/XTest.h:没有那个文件或目录
编译中断。make: * [.obj/release-shared/x11keyfaker.o] 错误 1
解决方法:
sudo apt-get install xorg-dev
如果makefile中没有-lXtst选项,则修改makefile 中 LIBS 选项: 添加 -lXtst选项
编译ARM版
必须加上“-prefix /usr/local/Trolltech/QtEmbedded-5.9.0-arm ”参数, 不然安装后不在QtEmbedded-5.9.0-arm文件夹下,而是覆盖了QtEmbedded-5.9.0。
# ./configure \ -prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm \ -opensource \ -confirm-license \ -release -shared \ -embedded arm \ -xplatform qws/linux-arm-g++ \ -depths 16,18,24 \ -fast \ -optimized-qmake \ -pch \ -qt-sql-sqlite \ -qt-libjpeg \ -qt-zlib \ -qt-libpng \ -qt-freetype \ -little-endian -host-little-endian \ -no-qt3support \ -no-libtiff -no-libmng \ -no-opengl \ -no-mmx -no-sse -no-sse2 \ -no-3dnow \ -no-openssl \ -no-webkit \ -no-qvfb \ -no-phonon \ -no-nis \ -no-opengl \ -no-cups \ -no-glib \ -no-xcursor -no-xfixes -no-xrandr -no-xrender \ -no-separate-debug-info \ -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
如果放弃配置,则使用命令:
$ make confclean
编译:
$ make
安装:
$ make install原文链接:https://www.f2er.com/bash/392453.html