各种Qt平台插件有什么用?

 羊碧刚_648 发布于 2023-01-30 09:24

我正在为基于ARM的目标(TI AM335x EVM)进行Qt5.2应用程序的交叉编译,但它无法在我的平台上显示任何内容.做了一些google'ing之后,我发现如果我用以下方式启动它:

 ./helloworld -platform eglfs

它会出现(全屏,但它工作)!

我开始查看所有平台选项,我发现:

android,eglfs,linuxfb,minimalegl,windows,xcb,cocoa,ios,offscreen,qnx,directfp,kms,minimal,openwfd

我想知道他们是为了什么.我假设,例如,如果我想在Android设备上运行我的应用程序,我必须通过-platform android,但它们对我来说并不是很明显.

是否应该使用每个参数的列表?

例如,什么eglfs代表什么?为什么我需要使用那些linuxfb不起作用的地方?
(我原本以为linux帧缓冲区是我想要启动我的应用程序,因为它在嵌入式linux上运行)

1 个回答
  • 如果linuxfb插件不起作用,那么您可能没有在系统上正确配置帧缓冲设备.也许一个directf层已经在运行,所以你可能想尝试一下directfb插件.

    如果您希望避免在运行可执行文件时指定platform选项,则可以configure在构建Qt时将默认选项传递给它.

    插件可以描述如下:

    Linux插件 - 那些使用特定于Linux的输入设备和各种输出设备

    eglfs - 在全屏模式下使用OpenGL ES.由于OpenGL没有窗口管理器的概念,所以别无他法.

    directfb(not directfp) - 通过directfb层使用带有OpenGL ES的linux帧缓冲区.集成到directfb窗口中.

    linuxfb - 在全屏模式下使用linux帧缓冲区.由于linuxfb没有窗口管理器的概念,所以别无选择.

    kms - 在全屏模式下使用linux内核模式设置API.由于DRM没有窗口管理器的概念,因此没有其他办法.

    openwfd - 在全屏模式下使用openwfd Wifi显示.没有其他办法,因为openwfd没有窗口管理器的概念.

    独立于平台的插件 - 可以在任何操作系统上运行

    xcb - 在X11服务器上运行,并集成到X11窗口环境中.通常,如果没有窗口管理器运行,它也不会正常运行.如果您想要将应用程序从Windows服务器提供给X11瘦终端(通常是Unix机箱),可以在Windows上实现xlib的Windows实现.

    offscreen - 渲染到屏幕外缓冲区.用于渲染自定义显示.

    minimal - 一个简约的后备存储,可选择将虚拟屏幕转储到文件中.实现最低限度的功能只是为了演示如何开始编写平台插件.

    其他特定于平台的插件

    android - 使用Android API并集成到Android环境中.

    windows - 使用WINAPI并集成到Windows窗口环境中.

    cocoa - 使用Cocoa API并集成到OS X窗口环境中.

    iOS - 使用iOS工具包并集成到iOS环境中.

    qnx - 使用QNX API并集成到QNX光子窗口环境中.

    2023-01-30 09:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有