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

相关推荐
添砖java‘’1 小时前
vim高效编辑:从入门到精通
linux·编辑器·操作系统·vim
tryCbest2 小时前
CentOS部署Docker容器
linux·docker·centos
qyhua3 小时前
【Linux运维实战】彻底修复 CVE-2011-5094 漏洞
linux·运维·安全
坠金3 小时前
linux/centos迁移conda文件夹
linux·centos·conda
纳于大麓4 小时前
Kotlin基础语法
linux·windows·kotlin
九皇叔叔4 小时前
Linux Shell 正则表达式中的 POSIX 字符集:用法与实战
linux·运维·正则表达式
東雪蓮☆5 小时前
K8s 平滑升级
linux·运维·云原生·kubernetes
AKAMAI5 小时前
数据孤岛破局之战 :跨业务分析的难题攻坚
运维·人工智能·云计算
东巴图6 小时前
JavaScript性能优化实战大纲性能优化的核心目标
运维·matlab
---学无止境---6 小时前
Linux中进程创建和缓存对象初始化fork_init、proc_caches_init和buffer_init
linux