【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第六篇 嵌入式GUI开发篇-第八十四章 交叉编译QT工程

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码,H.264、H.265、VP8、VP9视频硬解码,并提供相关历程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系统。适用于智能充电桩,物联网,工业控制,医疗,智能交通等,可用于任何通用工业和物联网应用、

【公众号】迅为电子

【粉丝群】258811263(加群获取驱动文档+例程)


第八十四章 交叉编译QT工程

本章内容对应视频讲解链接(在线观看):

QT跨平台运行之把QT程序交叉编译到ARM开发板  QT跨平台运行之把QT程序交叉编译到ARM开发板_哔哩哔哩_bilibili

注意!!! 视频中是以imx6ULL终结者开发板进行讲解的,以此为参考,我们本手册是以IMX8MM开发板进行讲解的。

本节内容将交叉编译QT工程,运行QT程序在开发板上。开发板上烧写yocto系统,支持QT版本为5.10版本。如果想要更换QT的版本,请参考文件系统构建篇 QT移植部分。

步骤一:

给QT程序布局,然后在构造函数添加自动设置屏幕大小的代码。代码如下:

设置好了以后把qt代码拷贝到Ubuntu上。

#include <QDesktopWidget>
#include <QStyle>
#include <QRect>

QDesktopWidget *deskTopWidget = QApplication::desktop();
QRect deskRect = deskTopWidget->availableGeometry();

int appH = deskRect.height();
int appW = deskRect.width();
this->setFixedSize(appW, appH);  		
setGeometry(0, 0, appW, appH);	

添加完成如所示:

步骤二:

进入要编译的工程文件夹目录,直接使用我们在Ubuntu里面安装好的交叉编译器中的qmake生成Makefile,输入:

. /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux   //设置交叉编译器

/opt/fsl-imx-xwayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake 

 

生成的Makefile如下图所示: 

步骤三:

成功生成Makefile以后,直接使用make编译就可以,编译成功以后得到的可执行文件就可以在开发板上运行。

我们使用file命令查看生成的可执行文件,如下图所示,生成的Testqt为ARM aarch64 

生成的Testqt便可以拷贝到开发板上运行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值