嵌入式Qt开发环境的搭建

前端之家收集整理的这篇文章主要介绍了嵌入式Qt开发环境的搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

按照不同的图形界面来划分,分为四个版本:
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所在的路径,
运行命令:

  1. $ ./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目录,执行如下操作:

  1. $./configure
  2. $ make
  3. $make install

编译过程中出现的问题:
出错:Basic XLibfunctionality test Failed!
这个错误主要是因为,XLib库没有安装,所以在编译X11平台时,应该保证,以下命令正确执行:

  1. sudo apt-get install libx11-dev libxext-dev libxtst-dev

注意:可以使用 make confclean 命令 把以前的配置信息清除掉,然后再重新配置。

编译x86版
进入qt-x86目录,执行如下操作:

  1. $ ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
  2. $ make
  3. $ make install

安装过程比较长,没有碰到过错误
编译安装PC版中的 qvfb:
进入qt-pc/tools/qvfb/目录,执行如下操作:

  1. $ 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

解决方法

  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。

  1. # ./configure \
  2. -prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm \
  3. -opensource \
  4. -confirm-license \
  5. -release -shared \
  6. -embedded arm \
  7. -xplatform qws/linux-arm-g++ \
  8. -depths 16,18,24 \
  9. -fast \
  10. -optimized-qmake \
  11. -pch \
  12. -qt-sql-sqlite \
  13. -qt-libjpeg \
  14. -qt-zlib \
  15. -qt-libpng \
  16. -qt-freetype \
  17. -little-endian -host-little-endian \
  18. -no-qt3support \
  19. -no-libtiff -no-libmng \
  20. -no-opengl \
  21. -no-mmx -no-sse -no-sse2 \
  22. -no-3dnow \
  23. -no-openssl \
  24. -no-webkit \
  25. -no-qvfb \
  26. -no-phonon \
  27. -no-nis \
  28. -no-opengl \
  29. -no-cups \
  30. -no-glib \
  31. -no-xcursor -no-xfixes -no-xrandr -no-xrender \
  32. -no-separate-debug-info \
  33. -nomake examples -nomake tools -nomake docs
  34. -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

如果放弃配置,则使用命令:

  1. $ make confclean

编译:

  1. $ make

安装:

  1. $ make install

猜你在找的Bash相关文章