摘要:本文主要介绍在PC机上搭建基于QT的嵌入式开发环境,其中很多源文件都是开发板自带,需要相应资料的可以评论留下邮箱地址。

版本:交叉编译工具链:GCC 4.7.3  【gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-20121214_linux.tar.bz2】

Qt Creator:Qt Creator2.3.1【虚拟机上自己安装】

Qt/Embedded:qt 4.8.2 【qt-everywhere-opensource-src-4.8.2.tar.gz】

操作系统:Linux3.6.9

首先:确保虚拟机上已经安装好Qt Creator,并且有Qt X86版本(即可以在PC上编译调试qt程序,但是不能进行交叉编译不能在开发板上运行),下文的步骤是笔者自己编译成功的,可以照着搭建自己的平台环境。

步骤:

一:安装交叉编译工具链

每个开发板都有自己对应的交叉编译工具,所以一般都会在光盘给你。

$ tar -xjvfgcc-linaro-arm-linux-gnueabihf-4.7-2012.12-20121214_linux.tar.bz2

$vi ~/.bashrcexport PATH=opt/toolchain/4.4.3/arm-linux-gnueabihf-gcc/bin:$PATH

[opt/toolchain/4.4.3/arm-linux-gnueabihf-gcc

为我的目录,自己可以根据自己的情况修改]

保存,退出!

使新的环境变量生效$ source ~/.bashrc$arm-linux-gnueabihf-gcc

-v[打印出 GCC 版本为4.7.3 交叉编译工具链安装成功]

二:交叉编译QT库

根据目标板提供的交叉编译链工具对Qt4.8.2库文件进行配置,进入/usr/local/qt4.8.2_src/Qt_forArm/mkspecs/qws/linux-arm-g++目录

【/usr/local/qt4.8.2_src/Qt_forArm 此目录为你将 qt-everywhere-opensource-src-4.8.2.tar.gz解压后存放的目录】,

修改该目录下的qmake.conf文件并保存如图3-1所示,

标号①根据armv7-a的CPU以及cortex

A5的处理器打开了neon的优化运行指令,且使用这个编译选项生成的目标文件,允许在ARM和Thumb之间交叉调用;

标号②为编译g++的指定交叉编译工具路径;

标号③为编译Linux内核指定交叉编译工具路径。

$ cd qt-everywhere-opensource-src-4.8.3

./configure -prefix /usr/local/Trolltech/QtEmbedded-4.7.1-arm -opensource -confirm-license-release -shared -embedded armv7

-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-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 -lrt

$ gmake

$ gmake install

$ export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.7.1-arm/lib

其中./configure中相关关键配置参数说明如下:

-prefix/usr/local/Trolltech/QtEmbedded-4.7.1-arm----指定安装目录【版本其实是4.8.2,并不是4.7.1,大家可以根据自己的实际情况设置安装目录但是要保证前后一致】

-embeddedarm----嵌入式平台框架选择为armv7

-xplatformqws/linux-arm-g++----交叉编译时的目标平台选择

编译完成后,打开Qt Creator开发环境,工具---->选项--->Qt4进行设置,在Qt版本菜单下,手动设置选择qmake路径。

再到工具链菜单下,添加交叉编译工具链GCCE

如此,Qt Creator便有了两套Qt版本,通过在创建工程的时候选择不同的Qt版本,或对工程进行不同平台的构建便能够实现跨平台开发和调试。

三:移植到ARM

(1)需要将usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib移植到ARM板上相同的位置,将plugins里的.so也移入..../QtEmbedded-4.8.5-arm/lib

(2) 对(1)中的lib/下的.so做链接

ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so

ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4

ln -s libQtDeclarative.so.4.8.5 libQtDeclarative.so.4.8

ln -s libQtGui.so.4.8.5 libQtGui.so

ln -s libQtGui.so.4.8.5 libQtGui.so.4

ln -s libQtGui.so.4.8.5 libQtGui.so.4.8

......

注:(1)(2) 也可以用压缩打包整个lib,拷贝过去来实现

(3)开发板环境变量设置

vi ~/.bashrc 文件,加入

QTDIR=usr/local/Trolltech/QtEmbedded-4.7.1-arm

export QTDIR

PATH=$QTDIR/lib:$PATH

export PATH

LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建相关推荐

  1. ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS 3.2)(比较水)

    ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS v3.2) 软件基础环境参考 硬件环境参考 软件环境安装的详细内容 软件基础环境参考 WIN10家庭版1803的64位版本 ...

  2. 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(MyEclipse + SVN)

    转载请标明出处,谢谢!  版本说明:     V1:          2014-3-30 版 前言: 因为要进行微信开发,就必须要成为微信开发者,要想成为微信开发者,就必须要有服务器响应微信的 To ...

  3. QT 5.15 Android Windows 10开发环境搭建

    Qt 不仅可以进行windows,linux 还可以进行 Android,IOS  还可以支持mac.uos.kylin.QNX  想做一套代码的跨平台开发,Qt是不错的选择: 这里只讲 Androi ...

  4. pydev工程linux运行,Linux平台下Python的安装及IDE开发环境搭建

    转自http://blog.csdn.net/guoxiaojie_415/article/details/48108319 1.Python安装 Python有2.X和3.X两个版本,由于2.X的版 ...

  5. Linux平台下Python的安装及IDE开发环境搭建

    1.Python安装 Python有2.X和3.X两个版本,由于2.X的版本较稳定,使用者也较多,本文选择使用Python 2.X版本. 安装步骤: (1) 下载Python安装包:https://w ...

  6. 基于Carbide.C++ 的Symbian开发环境搭建

    1.开发环境工具选用Jdk1.5 + ActivePerl-5.6 + S60_5th_Edition_SDK_v1_0+ Carbide.C++.V2.3 JDK1.5 下载的地方很多,就不提供了. ...

  7. 君君学Linux设备驱动第一天之概述及开发环境搭建

    一.设备驱动的作用:     1 计算机系统里面的软件和硬件是互相成就的,没有软件的硬件是废铁,没有硬件作为依托的软件是空中楼阁.     2 当应用软件工程师不想了解硬件底层的具体操作的时候,就需要 ...

  8. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  9. 嵌入式系统大作业——基于QT的3D模型展示

    嵌入式系统大作业--基于QT的3D模型展示 写在前面 实验设备 实现内容 实现过程 在win10上利用SolidWorks软件对模型进行预处理: 编写代码实现功能: 效果演示 参考资料 写在前面 该大 ...

  10. Linux 平台下基于Qt 的电子地图的绘制

    Linux 平台下基于Qt 的电子地图的绘制 摘要-------------------------------------------1   关键词------------------------- ...

最新文章

  1. 你的登录接口真的安全吗?快看看你有没有中招!
  2. C#字符串及数组操作
  3. 25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?
  4. java校验框架源码解析_Spring Boot原理剖析和源码分析
  5. 贪心/栈 - 去除重复字母
  6. 使用while和FOR循环分布打印字符串S='asdfer' 中的每一个元素
  7. [学习OpenCV攻略][001][Ubuntu安装及配置]
  8. Flex 结合sandy引擎创造
  9. Window入侵排查
  10. 优化工作的冰山一角,app瘦身
  11. 安装多个mysql实例(debian版本)
  12. android studio for android learning (一)
  13. oracle物理备份与恢复,ORACLE数据库备份与恢复详解
  14. EDK环境搭建UEFI工程模块文件介绍
  15. ThinkPad E420/E520 Win10 开机慢的问题
  16. 水处理过滤器:多介质过滤器结构组成及技术参数
  17. 南邮——计算机图像学——会动的立方体(变换)
  18. PTA 【java】7-2 将数组中的数逆序存放 (20 分)
  19. 傅里叶变换音频可视化_音频可视化中的信号处理方案
  20. 业务痛点、个人成长以及未来发展的一些思考

热门文章

  1. .NET开发人员如何开始使用ML.NET
  2. .net core 注入机制与Autofac
  3. 西安活动 | 2019年1月13号 拥抱开源, 又见.NET 线下交流活动报名进行中
  4. 开源纯C#工控网关+组态软件(八)表达式编译器
  5. vue 开发2017年变化回顾及2018年展望
  6. Jexus~docker与它产生了暖味
  7. ASP.NET Core依赖注入解读使用Autofac替代实现
  8. IIS负载均衡-Application Request Route详解第四篇:使用ARR实现三层部署架构
  9. onlyoffice启用HTTPS
  10. ArcGIS实验教程——实验六:空间数据格式转换