QML运行很卡以及RK3568的QT交叉编译(带OpenGL库与QML)

本文讲述了作者在遇到供应商提供的QT库不支持OpenGL的问题后,如何参考外部资源,进行系统配置、准备开发板和虚拟机环境,以及编译过程中遇到的问题和解决方案,最终成功为RaspberryPi3568编译带有OpenGL功能的QT套件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

由于供应商提供的qt库不支持OpenGL,虽说用QML编译出来的程序也能运行,但是效果非常卡,供应商要我们换3588,但是我认为3568运行一个简单的QML绝不应该卡成PPT,随后做上位机界面的同事发现编译时会报无OpenGL的错,所以我们怀疑是由于没有调用OpenGL库的原因导致的,所以决定自己下QT源码重新编译一个带OpenGL的套件。

在网上查阅了大量文章,参照很多文档开始编译,在qt源码config阶段各种报错,由于这些文章都只讲了要这么做,而未说明为什么要这么做,所以一直编译不成功,折腾了两天之后,最终参照国外一树莓派的固件制作视频1,终于是摸清楚了各环节的作用,特此写文章记录一下,很多地方是自己的理解,有理解的不对的地方,也希望大佬们指正。

一、准备工作

想要成功交叉编译,自然是要做一些准备工作,我在这里简单说一下,有些网上一查一大把的,我就不细说了。

  1. 准备交叉编译器,RK3568使用的是aarch64-linux-gnu编译器,可以去linaro官网下。这个一般供应商也会提供。
    下载地址是:https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/
  2. 下载QT源码,我使用的是QT5.14.2,其他应该也大差不差。
  3. 准备虚拟机,我用的是ubuntu18.04,虚拟机网络配置,能ping通开发板,这个应该都能做到。

二、开发板准备工作

应该是qt编译OpenGL时,需要用到开发板的库,这也是最开始不明白为什么很多带OpenGL的qt交叉编译的文章里都会提到sysroot,sysroot的作用应该就是在虚拟机里实现开发板的环境。
废话少说,开发板联网,安装以下库(由于我是root用户登录的开发板,所以就没有加sudo了):

apt-get update
apt-get upgrade
apt-get build-dep qt5-qmake
apt-get install libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev
apt-get install libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev
apt-get install libvpx-dev libsnappy-dev libnss3-dev
apt-get install "^libxcb.*"
apt-get install libfreetype6-dev libicu-dev libsqlite3-dev libxslt1-dev libavcodec-dev libavformat-dev libswscale-dev
apt-get install gstreamer-tools libx11-dev libglib2.0-dev
apt-get install libx11-dev libglib2.0-dev
apt-get install freetds-dev libpq-dev libiodbc2-dev firebird-dev libgst-dev libxext-dev libxcb1 libxcb1-dev libx11-xcb1
apt-get install libxcb-sync1 libxcb-sync-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev
apt-get install libxcb-glx0-dev libxi-dev libdrm-dev libssl-dev libxcb-xinerama0 libxcb-xinerama0-dev
apt-get install libatspi-dev libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libfontconfig1-dev
apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libfontconfig1-dev
apt-get install libxss-dev libxtst-dev libpci-dev libcap-dev libxrandr-dev libnss3-dev libdirectfb-dev libaudio-dev
a

以上库我是照搬那个视频里的,具体哪些不需要的,我也没有细究,有兴趣的同学可以具体研究研究。

三、虚拟机准备工作

3.1 虚拟机里也要安装以下环境

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install gcc git bison python gperf pkg-config
sudo apt-get install libclang-dev
sudo apt-get install mesa-common-dev
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值