前言
本文重新配置 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