在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、最终在板子上运行如下:

相关推荐
卍郝凝卍36 分钟前
云服务器数据库
运维·服务器·数据库
先鱼鲨生1 小时前
【Linux】System V - 责任链模式与消息队列
linux·责任链模式
钢铁男儿1 小时前
使用 asyncio 与 aiohttp 编写异步 Unicode 字符查找服务器_2025-07-30
运维·服务器
所念皆为东辞1 小时前
gitlab+jenkins的ci/cd部署
运维·ci/cd·gitlab·jenkins
AIZHINAN2 小时前
性能测试篇 :Jmeter监控服务器性能
运维·服务器·jmeter
快快网络-三七2 小时前
第二篇:Linux 文件系统操作:从基础到进阶
linux·运维·服务器·centos·快快网络
Doris_LMS2 小时前
Linux的访问权限(保姆级别)
linux·运维·服务器·面试
玖剹2 小时前
Linux文件系统:从内核到缓冲区的奥秘
linux·c语言·c++·笔记·ubuntu
是阿建吖!2 小时前
【Linux | 网络】传输层(UDP和TCP)
linux·网络·udp·tcp