在Ubuntu下交叉编译 Qt 应用程序(完整步骤)

1、下载交叉编译器下:
st-example-image-qt wayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh
通过网盘分享的文件:STM32项目
链接: https://pan.baidu.com/s/1hTvJT2r6czWCrKSuNEZCuw?pwd=th7t 提取码: th7t
--来自百度网盘超级会员v4的分享
2、 赋予可执行权限:

复制代码
chmod +x st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh

3、执行

复制代码
./st-example-image-qtwayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh

4、查看安装目录下是否存在文件

复制代码
ls /opt/st/

5、使能!以上步骤就已经安装了交叉编译工具链,但我们只是安装了它,要使用时还需要使能它(注意由于未将工具链放置在系统环境下,所以每次开启一个新的终端,都需要使能才能编译):

复制代码
source /opt/st/stm32mp1/3.1-snapshot/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

6、使用 qmake 指令生成 Makefile,用于编译(使用qmake指令需要在QT工程目录下,含.pro文件):

复制代码
qmake

7、额外插入几条命令(可跳过):

复制代码
make distclean  #用于清除qmake产生的产物
make clean  #用于清除编译产生的除makefile以外的产物

8、编译:

复制代码
sudo apt-get install make // 若找不到 make 指令,请安装 make。
1)make -j 8     #8是指Ubuntu核心数,根据每个人的电脑来,使用这条指令可以加快编译速度
或者2) make   #直接编译

9、验证:

编译成功后,工程下会生成一个同工程名一样的绿色文件名,表示编译成功。

10、连接开发板,STM32MP157,线插好OTG和TTL再上电。连接好后启动开发板,在CRT下建立板子的终端,如下图,使用ifconfig指令获取板子的地址。USB_OTG 会在系统启动后生成一个 usb0 网络节点,我们可以使用 ifconfig 指令查看。


11、拷贝绿色文件 到开发板的 /home/root 目录

复制代码
scp 文件 用户名@ip 地址:路径    #拷贝文件
scp -r 文件夹 用户名@ip 地址:路径     #拷贝文件夹


12、查看板子文件目录下是否刚刚拷贝的内容

13、运行

复制代码
./QT_LOG


退出按Ctrl+Z
13、最终在板子上运行如下:

相关推荐
wj3055853788 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU9 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记9 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
于小猿Sup10 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y10 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙52011 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇12 小时前
linux 检索库 判断库是否支持
java·linux·服务器