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

ARM Linux DIY(十三)Qt5 移植

前言

板子带有屏幕,那当然要设计一下 GUI,对 Qt5 比较熟悉,那就移植它吧。

移植 Qt5

buildroot 使能 Qt5,这里我们只开启核心功能 gui module --> widgets module
在这里插入图片描述
编译

$ make O=DIY_V3S/ qt5base

编译报错:找不到 “sybfront.h”头文件
原因是:qt 依赖一些库,而这些库是我之前编译的,之前的 toolchain 没有使能 c++,
所以要把依赖的库重新编译一下
查看 qt5base 的依赖

$ make O=DIY_V3S/ qt5base-show-depends
freetype host-perl host-pkgconf host-skeleton libglib2 skeleton toolchain zlib

重新编译 perl,就好了

调试

指定平台

拷贝一个之前编译好的 Qt 应用程序到板子,运行

root@v3s-diy:~/qt# ./lyj_test_0401 
qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plugins are: linuxfb, minimal, offscreen, vnc.Aborted

运行报错,提示找不到平台插件,其实我们是有的

root@v3s-diy:~/qt# ls /usr/lib/qt/plugins/platforms/
libqlinuxfb.so    libqminimal.so    libqoffscreen.so  libqvnc.so

只不过没有告诉 Qt 应用程序,或者说告诉 Qt 动态库,要使用哪个,
有两种方式告诉它
方式一:命令行参数

root@v3s-diy:~/qt# ./lyj_test_0401 -platform linuxfb

方式二:环境变量

root@v3s-diy:~# export QT_QPA_PLATFORM="linuxfb:tty=/dev/fb0"
root@v3s-diy:~# echo $QT_QPA_PLATFORM
linuxfb:tty=/dev/fb0
root@v3s-diy:~/qt# ./lyj_test_0401

在这里插入图片描述

运行后,可以显示图像了,但是文字不显示,并且命令行有报错

root@v3s-diy:~/qt# ./lyj_test_0401 
QFontDatabase: Cannot find font directory /usr/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.

添加字库

从报错信息可以看到,是缺少字库
从之前的板子中拷贝一份字库过来

# mkdir /usr/lib/fonts
# cp SourceHanSansCN-Regular.otf /usr/lib/fonts

运行

root@v3s-diy:~/qt# ./lyj_test_0401

请添加图片描述

程序运行正常,画面显示正常。

至此,Qt5 移植 OK。

http://www.lryc.cn/news/169202.html

相关文章:

  • 二,手机硬件参数介绍和校验算法
  • ubunutu20/18/22 编译android 5相关的问题汇总-千里马framework开源代码平板编译过程
  • tauri vue vite
  • 名词解析与经验分享(前端)
  • 【前端】js下载url文件
  • 什么是 BSD 协议?
  • 【网络教程】揭秘Windows SSH服务端免密登录:告别繁琐,享受安全连接
  • 使用键盘控制Franka机械臂运动
  • 力扣第45天----第392题、第115题
  • 扔掉你的开发板,跟我玩Mcore-全志h616
  • 【Linux】网络篇:UDP、TCP 网络接口及使用
  • 卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-2
  • SQL 性能优化总结
  • MYSQL事务隔离级别分析
  • 学习javaEE初阶的第一堂课
  • 请问一下就是业务概念模型和业务逻辑模型有啥关系
  • 3.2 Android eBPF程序类型
  • 多目标优化算法:基于非支配排序的小龙虾优化算法(NSCOA)MATLAB
  • Linux学习第13天:嵌入式LinuxLED驱动开发:一字一符总见情
  • ModuleNotFoundError: No module named ‘omni‘
  • 题解:ABC320B - Longest Palindrome
  • 大模型从入门到应用——LangChain:代理(Agents)-[代理执行器(Agent Executor):结合使用Agent和VectorStore]
  • 【算法题】100040. 让所有学生保持开心的分组方法数
  • TrOCR – 基于 Transformer 的 OCR 入门
  • 单例模式优缺点
  • 【Java 基础篇】Java 字节流详解:从入门到精通
  • Vue记录(下篇)
  • 【测试开发】概念篇 · 测试相关基础概念 · 常见开发模型 · 常见测试模型
  • 1. 快速体验 VSCode 和 CMake 创建 C/C++项目
  • 【JAVA-Day18】用大白话讲解 Java 中的内存机制