【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十七章 交叉编译QT工程

时间:2024-11-06 19:05:02

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7+单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板+底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐用,可满足高速信号环境下使用。共240PIN,CPU功能全部引出:底板扩展接口丰富底板板载4G接口(选配)、千兆以太网、WIFI蓝牙模块HDMI、CAN、RS485、LVDS接口、温湿度传感器(选配)光环境传感器、六轴传感器、2路USB OTG、3路串口,CAMERA接口、ADC电位器、SPDIF、SDIO接口等


第七十七章 交叉编译QT工程

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

QT跨平台运行之把QT程序交叉编译到ARM开发板 → https://www.bilibili.com/video/BV1tp4y1i7EJ?p=19

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

本节内容将交叉编译QT工程,运行QT程序在开发板上。开发板上烧写qt5.12.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);	

添加完成如所示:

步骤二:

进入要编译的工程文件夹目录,使用命令

rm -rf time.pro.user

删除time.pro.user文件

 

使用我们在Ubuntu里面安装好的交叉编译器中的qmake生成Makefile,输入:

/opt/qt-5.12.10-arm/bin/qmake

 

生成的Makefile如下图所示: 

步骤三:

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

 

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

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