当前位置: 首页 > news >正文

beaglebone black狗板,交叉编译Qt5(eglfs)

1. 下载buildroot-2023.023.7版本

make beaglebone_qt5_defconfig

然后编译,出现错误大多数是因为下载不了包,用bing搜索找到放到对应的dl目录下,最终完成编译。

备注:用系统默认配置,不要参考网上的,网上的很多都是从0开始,可能内核都版本都不对,都不带opengl es,狗板的GPU驱动,这个花费了我很长时间,最终发现默认的配置,就可以支持GPU驱动了。也是第一次玩buildroot

2. 烧写

编译最终会输出这么多文件,主要用sdcard.img

am335x-boneblack.dtb           am335x-bone.dtb                am335x-evm.dtb                                      boot.vfat  rootfs.ext2  sdcard.img  zImage
am335x-boneblack-wireless.dtb  am335x-bonegreen.dtb           am335x-evmsk.dtb                                    extlinux   rootfs.ext4  u-boot.img
am335x-boneblue.dtb            am335x-bonegreen-wireless.dtb  arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz  MLO        rootfs.tar   uEnv.txt

3.  烧写到U盘

sudo dd if=output/images/sdcard.img of=/dev/sde (这里根据dmesg替换成你的U盘

4. 插上SD卡,然后重启狗板

5. 运行Qt efls需要先配置一下

# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json

# export QT_QPA_PLATFORM=eglfs

# export QT_QPA_EGLFS_INTEGRATION=none

设置这三个环境变量后,启动一个Qt的demo看看,正常应该是可以的。

# /usr/lib/qt/examples/opengl/hellowindow/hellowindow

6.提取sdk

在build root里面执行make sdk

备注:为什么要用sdk,不直接用交叉编译工具链编译,试了,没搞成功。

7.解压并且设置环境变量

用cmake 配合sdk来编译demo,这里挑一个多媒体的来练习

编写CMakeLists.txt,用gpt先搞个模版出来,然后修改

设置sysroot,以及添加头文件和so的路径

如果出现问题,请检查sysroot下面是否有对应的文件名find_package需要再这里找到对应的名称。

这样cmake就能找到库,好像也能找到include和lib的路径。但是我这里也还是手动添加了。

8,编译

在源码路径下面建立一个build目录,然后cd进去,执行cmake ..

然后直接make

可能遇到的问题,虚函数定义,加上下面这个,具体也没去研究

检查编译的最终结果是否是arm的可执行文件

成功,这样就可以拿到板子上去运行了

相关文章:

  • IntelliJ IDE 插件开发 | (三)消息通知与事件监听
  • UE5 Landscape 制作GIS卫星图地形
  • 在使用mapstruct,想忽略掉List<DTO>字段里面的,`data` 字段的映射, 如何写ignore: 使用@IterableMapping
  • 自定义Taro上传图片hooks(useUploadImg)
  • 让生活更智能,P1600边缘智能网关带你进入智能家居新时代
  • C#学习笔记 - C#基础知识 - C#从入门到放弃 - C# 结构、类与属性
  • 【起草】【第六章】ChatGPT 在软件测试的应用场景
  • 物联网主机E6000:引领智能安防新时代
  • display:grid
  • 【Java之数据结构与算法】
  • .NET面试题(二)
  • 在 Go 语言中使用 regexp 包处理正则表达式
  • node实现简单的数据爬虫
  • Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类
  • 【C语言】动态内存管理基础知识——动态通讯录,如何实现通讯录容量的动态化
  • 【JavaWeb学习笔记】14 - 三大组件其二 Listener Filter
  • 【Docker】基于华为 openEuler 应用 Docker 镜像体积压缩
  • Gazebo GUI模型编辑器
  • C语言之初识C语言
  • 在Portainer创建Nginx容器并部署Web静态站点实现公网访问
  • 海南省三亚市委原常委、秘书长黄兴武被“双开”
  • 丰田汽车:美国关税或导致4、5月损失1800亿日元,新财年净利润下滑三成
  • 【社论】以法治力量促进民企长远健康发展
  • 潘功胜:央行将设立5000亿元服务消费与养老再贷款
  • 娱见 | 为了撕番而脱粉,内娱粉丝为何如此在乎番位
  • 新闻1+1丨多地政府食堂开放 “舌尖上的服务”,反映出怎样的理念转变?