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

摘要:本文主要介绍在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内核指定交叉编译工具路径。

3f288ee285423cc6e29fa526842ca321.png

$ 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路径。

3f288ee285423cc6e29fa526842ca321.png

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

3f288ee285423cc6e29fa526842ca321.png

如此,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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漫水填充及Photoshop中魔术棒选择工具的实现

今天写程序中有一个地方用到了漫水填充(FloodFill)。所谓漫水填充,简单来说,如下图中左图,白布上有一块红色的斑点,在这个红色的斑点上点一下,就自动选中了和该点相连的红色的区域,接…

代理管家app_亲亲小保社保管家app2021下载_亲亲小保社保管家app最新版下载

亲亲小保社保管家是一款便捷社保服务软件,为用户提供全面便捷的社保公积金服务,可以解决生活中的各种居住,社会保障等,感兴趣的朋友快来下载亲亲小保社保管家吧。亲亲小保社保管家app特色1.、社保服务、社保代理、社保托管、工资代…

上大学后男生的两种变化

1 一只处女座的喵。。。2 螃蟹怎么都没想到自己有一天会变成糖葫芦3 还以为厨师被劫持了4 未来感十足的红绿灯概念设计……5 外国留学生的眼中中文6 上大学后男生的两种变化,可太真实了7 你这样欺负人我要报警哦8 一年级的题你点的每个赞,我都认真当成了…

ADO.NET笔记——基本概念

ADO.NET中的主要对象: Connection:连接对象。用于建立从应用程序到数据库服务器指定数据库的连接通道Command:命令对象。用于执行增删查改等数据库语句命令DataReader:数据阅读器对象。用于从数据库逐行返回数据DataAdapter&#…

关于 Azure SQL 数据库你不知道的 5 件事

点击上方蓝字关注“汪宇杰博客”原文:Azure Tips and Tricks翻译:汪宇杰Azure SQL Database如果您喜欢 SQL Server,那么您可能也喜欢 Azure SQL 数据库。Azure SQL 数据库是 Azure 中的 SQL Server 即服务。你负责处理数据,Azure …

win7共享xp打印机_解决共享打印机不能使用的问题

针式打印机如何设置共享打印找不到驱动就需要重新下载安装适合版本的驱动,以及.INF文件网络打印机连接模式步骤:a.预先得知网络打印机的IP地址,打开它的共享b.【开始】-【设备与打印机】-【添加打印机】-【添加本地打印机】c.选择TCP/IP接口-…

网页固定宽度布局

&#xff08;一个固定宽度div布局&#xff09; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <h…

rk3399性能_AIIA AI公布首轮评估结果:瑞芯微RK3399数据抢眼

人工智能产业发展联盟(AIIA)正式发布“AIIA DNN benchmark V0.5”首轮评估结果。该评估在AIIA权威测试平台完成&#xff0c;基于端侧推断任务的深度神经网络处理器基准测试。在四大典型应用场景下&#xff0c;能够客观反映具有深度学习处理能力的处理器或加速器的性能水平。评估…

世界上最欢乐的职业,可能就是蹦极的工作人员了!

1 他们叫的有多大声我笑的就有多大声▼2 这个手动转向灯可太可爱了▼3 真正的倒立洗头▼4 看看&#xff01;脚踏两只船多危险&#xff01;▼5 穿上这件衣服你和猪八戒就只差一个肚子了▼6 螳螂才是真正的拟态大神▼7 你是哪种&#xff1f;▼

Apache-Jmeter监控服务资源

Jmeter本身没有监控服务器资源的功能&#xff0c;需要添加额外的插件&#xff0c;插件参考的网址&#xff1a;http://www.jmeter-plugins.org/ 一、监控原理图二、Jmeter-Plugs和PerfMonAgent的下载和安装&#xff08;1&#xff09;Jmeter-Plugs的下载网址http://www.jmeter-pl…

VS2022+.NET6 RC1+C#10,.NET开发起飞

9月14号发布了.NET6 RC1版本&#xff0c;代表着.NET6已基本定型了。小长假在家升级环境实操一番&#xff0c;VS2022.NET6C#10&#xff0c;那感觉简直了&#xff01;VS2022超强智能提示&#xff0c;极致简化的ASP.NET Core开发框架&#xff0c;再加上C#10各种炫酷新语法&#xf…

语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?

交流电和直流电是什么&#xff0c;有什么区别&#xff1f;交流(AC)是指电流方向随时间作周期性变化的为交流电&#xff0c;在一个周期内的运行平均值为零。通常波形为正弦波形&#xff0c;交流电可以有效传输电力。但实际上还有应用其他的波形&#xff0c;例如三角形波、正方形…

深度学习 占用gpu内存 使用率为0_深度解析MegEngine亚线性显存优化技术

作者 | 旷视研究院 编辑 | Linda 基于梯度检查点的亚线性显存优化方法 [1] 由于较高的计算 / 显存性价比受到关注。MegEngine 经过工程扩展和优化&#xff0c;发展出一套行之有效的加强版亚线性显存优化技术&#xff0c;既可在计算存储资源受限的条件下&#xff0c;轻松训练更深…

有趣的物理照片,让你瞬间爱上物理!

全世界只有3.14 % 的人关注了爆炸吧知识让你爱上科学的神奇物理现象图&#xff01;烧不坏的毛巾物理学好让人敬畏…不明觉厉啊&#xff01;重心求超越的吗&#xff1f;依旧是一个好玩的实验永...永动鸡&#xff1f;有种别划桨呀头朝下的飞机中&#xff0c;依旧可以正常倒水光的…

SSH项目中遇到拦截器无法注入服务的问题

2019独角兽企业重金招聘Python工程师标准>>> 配置applicationContext.xml&#xff0c;给自定义拦截器增加了properity属性是一个biz&#xff0c;运行的时候一直报空指针异常&#xff0c;输出结果biz总是null&#xff0c;很是好奇&#xff0c;难不成拦截器无法被注入…

Dapr牵手.NET学习笔记:用docker-compose部署服务

上一篇聊到用两个物理机&#xff08;一个win,一个mac&#xff09;来部署dapr和服务 &#xff0c;实现order调用pay的负载均衡。本篇说一下在windows上的docker部署这三个服务&#xff0c;达到与上一篇的效果。三个服务的部署架构是这样的首先要把OrderSystem(服务端口80)项目do…

Java并发编程实战_真香!阿里P8耗时半年著作660页Java高并发与网络编程实战总结...

随着软件行业的飞速发展&#xff0c;互联网公司对开发者的技能要求也越来越高。而高并发、网络编程、微服务、海量数据的处理等技能&#xff0c;是每一个开发者进阶时的必学知识。为了帮助初级开发者快速掌握这些实用技术&#xff0c;本书以“理论&#xff0b;范例”的形式对各…

【译】在Asp.Net中操作PDF – iTextSharp - 使用表格

使用Asp.Net生成PDF最常用的元素应该是表格&#xff0c;表格可以帮助比如订单或者发票类型的文档更加格式化和美观。本篇文章并不会深入探讨表格&#xff0c;仅仅是提供一个使用iTextSharp生成表格的方法介绍&#xff0c;本文需要阅读我之前iTextSharp系列文章作为基础&#xf…

有些图,只要看错一眼就再也回不去了!

全世界只有3.14 % 的人关注了爆炸吧知识平时在网络上逛&#xff0c;你会发现有种图片&#xff0c;一旦看茬&#xff0c;就再也回不去了&#xff01;今天就来集体复习一下&#xff1a;首先是这张著名的图&#xff0c;很可爱的小盆友但如果告诉你&#xff1a;那两个大黑点是鼻孔&…

2015年网页设计最佳颜色搭配的9种选择

2019独角兽企业重金招聘Python工程师标准>>> 2015年网页设计最佳颜色搭配的9种选择 还在为你的网站选用哪种色调发愁&#xff0c;难易选择吗&#xff1f;本篇为你总结了2015年国外网友设计最佳颜色搭配的9个方案&#xff0c;供你参考... 详细解读 和小伙伴们一起来吐…