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

相关推荐
小码过河.21 分钟前
CentOS 安装 Docker
linux·docker·centos
HappyGame021 小时前
Linux命令-vim编辑
linux·vim
笑远1 小时前
Vim/Vi 常用命令速查手册
linux·编辑器·vim
撒旦骑路西法,大战吕布1 小时前
如果你在使用 Ubuntu/Debian:使用 apt 安装 OpenSSH
linux·ubuntu·debian
_李筱夜2 小时前
ubuntu桌面版使用root账号进行登录
linux·ubuntu
that's boy2 小时前
字节跳动开源 LangManus:不止是 Manus 平替,更是下一代 AI 自动化引擎
运维·人工智能·gpt·自动化·midjourney·gpt-4o·deepseek
laimaxgg3 小时前
Dockerfile
linux·运维·服务器·ubuntu·docker
GalaxyPokemon3 小时前
LINUX基础 [四] - Linux工具
linux·运维
xxx郑三刀xxx3 小时前
https证书自动续期,不消耗腾讯云ssl证书免费次数
运维·后端
与passion共存3 小时前
Linux系统下Docker安装
linux·docker