QT交叉编译arm

QT环境以及交叉编译环境的搭建


提示:这个操作比较常规,我就说一下自己遇到的一些问题然后一些注意事项


前言

提示:整个项目是调用摄像头完成画面采集并且调用百度OCR API接口进行Post上传,并且得到所识别画面内容,并且画面实时显示,再将结果通过TCP协议上传至服务器,QT应用程序ubuntu上验证,交叉编译后移植到嵌入式arm平台下,各平台大同小异,大部分只是要跟换交叉编译工具,以及对应所编译的的库文件


一、QT使用方面,先得知道QT是怎么回事

QT是什么和我认为的优势

qt是一个由Qt Company于1991年开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。这是官方对它的介绍,我个人觉得对于我来说,QT优秀的地方在于两点:

第一点是强大的库支持,无论你是做好看的界面,还是说做应用相关的,QT提供各种强大的库的支持。

第二点是其强大的跨平台能力,你的应用程序只用配置好相应的Kits,通通搞定。基本上不用你去修改任何代码。你想想,你的程序换个kits,锤一锤(重新构建一下)就能立马生成一个在你板子上跑得飞起的程序,这不香吗!!!

干货来了

刚刚我提到了kits,什么是kits,它是干嘛的,它叫做构建套件。就是说构建你这个工程,也就是处理你这个源码工程,把他编译连接生成可执行文件的依据,显然一个工程可以有多个kits。它的重点有两个:

qmake

我简单说那就是生成makefile,生成下面所说的菜单了,这源码放这儿了,我们要怎么去处理它呢,它就指定了这个处理的方法。这个地方,当没有pro文件时,它会生成pro文件,如果有pro文件它会根据pro(你们可以自己看看自己的pro文件,一般是指定一些库一些资源)生成pro文件的makefile,最后再make(kits里你指定的编译器)生成可执行文件。

编译器

编译器不说了,那很明显,我们的源码就像是原材料,编译器就是做菜的工具,makefile就是做菜的菜谱,这个arm上可以吃的菜,人家ubuntu根本不认识这是道菜,你让人家怎么吃。同理换过来也是一样。很多人贴图说明了怎么去配置,但是可能有的小白根本不知道为什么要去配置,也不知道自己在配置什么,这么学习肯定是不行的

二、自己使用遇到的问题

1.就一句话,记得包含相关的类和头文件,这不是重点,重点是不同版本的QT有些库和类是变化了的,自己要懂得辨别,多搜搜!!!别自己卡在那里还很奇怪,不同版本的QT其实差距挺大的。自己用的https相关的

代码如下(示例):

QNetworkAccessManager *manager;

这个就是QT新支持的

2.就是还是明白刚刚说的那个道理,不是说刚刚你成功的编译出的那个程序就能够运行在我们的板子上,你首先想一下,为什么你的程序能够运行在ubuntu上,因为你的文件依赖也好,所需的动态库也好是存在于你的环境中的,你的板子上并没有这些东西,你的程序是可执行的,但是并不能运行成功,你需要刚刚上诉说的那些东西,你需要交叉编译QT的动态库依赖文件,并且放在程序运行时能找到的路径中,一般/usr/lib/下面,常用的就/usr/lib/或者/usr/local/lib/,因为涉及多用户时,每个用户的lib文件是不同的,显然/usr/lib/应该是所有用户共同的,很多配置文件的路径也是如此,这样才能所有用户都和谐相处。
在这里插入图片描述
比如我就是lqx

总结

这些其实就是一个整体大概的一个介绍以及我自己遇到的一些小问题,后面会给出每个部分的具体实现,比如如何调用API,opencv的编译,TCP Server/client,以及V4L2上层的调用和实现,都是基于QT的(opencv的编译除外)。
  • 4
    点赞
  • 6
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

7个棋

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值