加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

嵌入式Qt开发环境的搭建

发布时间:2020-12-15 16:49:34 所属栏目:安全 来源:网络整理
导读:按照不同的图形界面来划分,分为四个版本: Win32版:适用于windows平台; X11版:适用于各种X系统的Linux和Unix平台; Mac版:适用于苹果的MacOS; Embedded版:适用于具有帧缓冲(Frame buffer)的linux平台; Qtopia是基于qt开发的一个软件平台,Qtopia是

按照不同的图形界面来划分,分为四个版本:
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平台上运行。
首先要准备好交叉编译所需要的软件包:

  1. gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2(交叉编译环境)
  2. qt-everywhere-opensource-src-5.9.0.tar.xz(Qt的源码)
  3. qt-creator-linux-x86_64-opensource-2.5.2.bin(我的系统是64位,所以选择x86_64)
  4. 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读