荔枝派Zero(全志V3S)运行Qt5程序

简介: 本文重新配置 buildroot,利用 buildroot 重新交叉编译 Qt,编译完成后将编译产生的可执行文件拷贝到 SD 卡,板子上电后跑到文件系统下再手动运行。

前言


本文重新配置 buildroot,利用 buildroot 重新交叉编译 Qt,编译完成后将编译产生的可执行文件拷贝到 SD 卡,板子上电后跑到文件系统下再手动运行。


读者需完成Uboot、Kernel 编译,可参考下面,本文只重新配置 rootfs 并重新编译

荔枝派Zero(全志V3S)编译Uboot及配置

荔枝派Zero(全志V3S)编译Kernel


编译 buildroot 时遇到的问题可以参考下面:

荔枝派Zero(全志V3S)编译rootfs


一、配置 buildroot


1、在 buildroot-2017.08 根目录下,打开配置界面,命令如下:

make menuconfig

2、Target packages -> Graphic libraries and applications (graphic/text) -> Qt5 ,勾选上 gui module 和 widgets module

3、保存配置并退出


二、编译 buildroot


回到 buildroot-2017.08 的根目录下,执行 make


三、编译例程


1、确认 qmake 是否正常

可能电脑里面之前就有 qmake,那么必须指定 qmake 的路径,再查看 qmake 的版本才可行,否则直接 qmake -v 会显示系统上已存在的 qmake 版本

在 buildroot-2017.08 的根目录下执行:

output/build/qt5base-5.6.2/bin/qmake -v

2、编译例程

①、选择一个模拟时钟的 demo

cd output/build/qt5base-5.6.2/examples/widgets/widgets/analogclock

目录下面有四个文件

再执行以下命令

/home/Gnep/licheepi_zero/buildroot-2017.08/output/build/qt5base-5.6.2/bin/qmake analogclock.pro

如果报下述错误,那就在 buildroot-2017.08 的根目录下先 make clean 以后再执行 make

Project ERROR: Unknown module(s) in QT: gui widgets:

成功后,会生成一个 Makefile 文件

再执行 make,生成可执行文件

②、再选择一个 demo

cd ../../animation/stickman/
/home/Gnep/licheepi_zero/buildroot-2017.08/output/build/qt5base-5.6.2/bin/qmake stickman.pro
make

生成可执行文件 stickman


四、拷贝到 SD 卡


①、插上 SD 卡,先把 SD 卡的 rootfs 分区里面的文件删除

新打开一个终端

sudo rm -rf /media/Gnep/rootfs/*
ls


②、把buildroot-2017.08产生的rootfs.tar解压到刚创建的rootfs分区根目录

在buildroot-2017.08根目录下

find ./ -name rootfs.tar
sudo tar xf ./output/images/rootfs.tar -C /media/Gnep/rootfs/

③、把刚编译的两个可执行文件拷贝到 SD 卡的 rootfs 分区

sudo cp ./output/build/qt5base-5.6.2/examples/widgets/widgets/analogclock/analogclock /media/Gnep/rootfs/
sudo cp ./output/build/qt5base-5.6.2/examples/widgets/animation/stickman/stickman /media/Gnep/rootfs/


五、上板子运行


1、测试模拟时钟

cd /
ls
./analogclock -platform linuxfb

2、测试火柴人

./stickman -platform linuxfb


目录
相关文章
|
6月前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
445 0
|
4月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
461 3
|
2月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
6月前
|
开发框架 自然语言处理 Linux
Qt:构建强大跨平台应用程序的框架
Qt:构建强大跨平台应用程序的框架
|
4月前
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
157 6
|
5月前
Qt MainWindow 程序主窗口
Qt MainWindow 程序主窗口
|
6月前
|
人工智能 编译器 C++
新版Qt6快速打包程序脚本
不知道啥时候Qt更新了,目前是6.7.0,项目默认的生成路径改了, 从 项目目录的同级目录 改为了 项目目录中的build目录, 之前的脚本也用不了了,所以用AI更新了一下脚本, 希望能帮到大家,方便快速打包程序到桌面。
164 9
|
6月前
|
开发框架 Linux C++
Qt:强大的跨平台C++应用程序开发框架
Qt:强大的跨平台C++应用程序开发框架
210 3
|
6月前
|
开发框架 编译器 C++
Qt:一个强大的跨平台C++应用程序开发框架
Qt:一个强大的跨平台C++应用程序开发框架
180 1