问题背景:
公司新项目需要使用君正T40 soc,平台是 MIPS 架构,但是君正在此平台未开发出图形界面工具,项目需要人机交互,于是需要使用QT实现相关需求。

问题描述:
下载QT5.15.2源码(下载地址,QT6的编译和5不太一样,这里领导要求使用QT5,不敢违抗),使用君正平台mips编译工具链编译 QT5.15.2 源码后拷贝库文件到君正T40开发板,写了一个简单的QT应用程序无法运行。报错信息如下:

[root@Zeratul:tmp]# ./qttest
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setCompositionMode: Painter not active
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::setCompositionMode: Painter not active
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::pen: Painter not active
QPainter::setPen: Painter not active
QPainter::setPen: Painter not active
QPainter::setCompositionMode: Painter not active
QPainter::setCompositionMode: Painter not active

本来以为一切顺风,没成想出现这幺蛾子。作为一名资深的程序员,遇见问题三大步,百度–谷歌–放弃,好吧,都是一无所获。老老实实看QT源码吧,一遍一遍的看,最后发现QT支持的彩色模式不支持NV12,而君正主做camera大部分用的是NV12的彩色模式。

知道原因了就直接改吧。修改平台彩色模式,在kernel里make menuconfig下:依次进入Device Driver --> Graphics support --> Frame buffer Devices --> Ingenic Framebuffer Driver --> Ingenic Framebuffer Driver for Version 12 --> Current Color Mode ,这里我们选择比较小的 RGB565,如果需要a通道可以选择QT支持的其他彩色模式如ARGBxxx。

配置完成后,就make clean,make uImage,刷机运行吧。
完美,随后把sharebuffer集成到QT成功播放了实时视频流数据。主要是君正的camera没有相应的设备节点给QT调用取流,君正是提供他们相应的sdk来获取实时流,而这个实时流设备端的主进程需要优先使用,这里就选项了共享buffer机制给QT供实时流数据。

QT5.15.2源码编译后在君正MIPS架构运行播放实时视频流相关推荐

  1. 在龙芯3a5000处理器上进行qt-5.11.3源码编译流程与遇到的问题

    1.环境说明 处理器:Loongson-3A5000M 统信桌面操作系统 Linux 注意网上很多帖写的都是适用于龙芯3a4000的,龙芯3a4000指令集是mips,龙芯3a5000指令集为Loon ...

  2. android 编译完后镜像在哪个文件夹,Android源码编译后

    在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data. ...

  3. Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录

    今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...

  4. 【Flink源码篇】Flink 1.15.0源码编译

    目录 1. 下载源码并解压 2. Flink项目配置 3. 源码编译 4. 编译问题记录 5. IDEA调试Flink程序 1. 下载源码并解压 从github下载Flink的源码:https://g ...

  5. openfire源码编译后部署到linux

    1.源码通过编号后,会生成target目录,直接把target目录拷贝到linux下即可: 2.启动openfire: ./openfire.sh start 3.退出直接ctr + c 问题:如果一 ...

  6. [Android Pro] Android源码编译后,再重编译所需要做的清理工作

    1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source  build/envsetu ...

  7. LNMP源码编译安装及一键部署LNMP架构

    目录 一.LNMP 1.LNMP介绍 1.1 LNMP工作原理 1.2.LAMP工作原理 2.LAMP和LNMP的区别 3.编译安装的优点 4.各组件的主要作用 三.LNMP架构的部署 1.安装ngi ...

  8. LAMP源码编译安装及一键部署LAMP架构

    文章目录 一.什么是LAMP? 1.LAMP平台概述 2.构建LAMP平台顺序 3.编译安装的优点 4.各组件的主要作用 二.LAMP架构流向 三.编译安装Apache服务 1.先关闭防火墙 2.将软 ...

  9. Qt源码编译aarch、loongarch等架构可参考

    前言: 我的建议是:编译环境一定要有网络,依赖的包才可以方便安装!!! 当然无网络,也可在有网络的相同架构系统下将相应包下载,详情可参考 Debian包管理则参考 Debian离线包安装离线源制作 下 ...

最新文章

  1. flashpaper打印机没有被正确安装_没有正确保存与安装,可导致80%的轴承提早失效...
  2. opengl开启垂直同步_你的下一部鼠标,何必是鼠标?来试试肯辛通垂直无线轨迹球?...
  3. 最新《医学图像深度语义分割》综述论文
  4. 记TX实习生笔试归来
  5. linux rpm 查看安装目录下,Linux如何修改RPM的安装目录?
  6. mybatis 模糊查询
  7. oracle最大空闲时间,使用Oracle PROFILE控制会话空闲时间
  8. HTML5手机开发——滚动和惯性缓动
  9. matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
  10. Echarts3里的地图标记点事件效果实现
  11. BCNF范式的判断和分解
  12. 九章量子计算机 知乎,量子计算机《九章》问世 知乎微博消息: 北京时间 12 月 4 日凌晨 3 点,一篇重要文章以 First Releas... - 雪球...
  13. 君莫笑系列视频学习(4)
  14. space-evenly
  15. mysql slave duplicate entry_slave 报Duplicate entry for key
  16. 【C++】Clang-Format:代码自动格式化(看这一篇就够了)
  17. 锎的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. Android Architecture(Is Activity God?)
  19. 二十岁决定男人的一生(强烈推荐)
  20. 2022亚马逊云科技re:Invent全球大会即将启幕

热门文章

  1. 分布式 TensorFlow:Distribution Strategy API 丨Google 开发者大会 2018
  2. 孔板流量计计算公式_十二种流量计工作原理
  3. okhttp-OkGo(okhttp-util升级版)网络请求框架(一)
  4. 3D图形芯片10年史话(转载)
  5. 实战精通OpenCV第一章--基于Android的图片卡通化及肤色改变(三)
  6. The Great Suspender功能介绍
  7. 图像全变差 matlab,全变差图像重建的交替最小化算法
  8. RK3288-8.1-添加一个人体感应的开关-pir_pin_status
  9. 2017年预言:病毒传播无需文件_无人机可能成为炸弹
  10. java word 乱码_JAVA 使用POI替换word中的某些字符串,在本地调试一切ok,在服务器上出现乱码...