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

2023-12-23 08:12

本文主要是介绍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的可执行文件

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

这篇关于beaglebone black狗板,交叉编译Qt5(eglfs)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/527318

相关文章

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

Windows环境利用VS2022编译 libvpx 源码教程

libvpx libvpx 是一个开源的视频编码库,由 WebM 项目开发和维护,专门用于 VP8 和 VP9 视频编码格式的编解码处理。它支持高质量的视频压缩,广泛应用于视频会议、在线教育、视频直播服务等多种场景中。libvpx 的特点包括跨平台兼容性、硬件加速支持以及灵活的接口设计,使其可以轻松集成到各种应用程序中。 libvpx 的安装和配置过程相对简单,用户可以从官方网站下载源代码

Golang test编译使用

创建文件my_test.go package testsimport "testing"func TestMy(t *testing.T) {t.Log("TestMy")} 通常用法: $ go test -v -run TestMy my_test.go=== RUN TestMyTestMy: my_test.go:6: TestMy--- PASS: TestMy (0.