如何在没有 Xlib 的情况下配置 QT5

How do I configure QT5 without Xlib

我正在尝试配置(和构建)QT5 静态。我希望它绘制到帧缓冲区并使用 webkit。我搜索了文档,但没有找到任何关于如何在没有 X 的情况下执行此操作的信息。有谁知道这样做的方法吗?

最好的方法是使用“minimal”插件并将其 blit 到帧缓冲区(类似于 http://lists.qt-project.org/pipermail/development/2015-April/021160.html 中的讨论)。但是,请询问您的平台供应商 - 检查 "eglfs with fb" 是否是受支持的选项。

但是请注意,Linux 上的这些 non-mainstream 选项可能不完全支持光标、覆盖、旋转、垂直同步处理、GPU 加速等功能。

静态构建 Qt 与平台选择完全正交。根据您的目标设备,您可以选择使用 Wayland、EGLFS、LinuxFB/DirectFB 等

请确保当您 运行 configure 时,您感兴趣的实际插件已被编译。换句话说,检查 configure 的最终输出(或读取生成的 config.summary 文件)。如果平台不存在,运行 configure -v 并尝试查看缺少的内容(headers、库、...)。

然后,您可以通过简单地启动应用程序并传递参数 -platform eglfs|wayland|...(或通过设置 QT_QPA_PLATFORM 环境变量;或者您可以将其设置为默认值来使任何应用程序使用给定的插件使用 设备 mkspecs 进行处理)。 More info here.

当涉及到静态 linking 时:此 multi-platform 支持是通过插件实现的。静态 linked 应用程序将无法加载可用的插件,因此您实际上必须 link 通过添加诸如

之类的内容将平台插件添加到应用程序本身
QTPLUGIN.platforms = eglfs

进入您的 .pro 文件。 More info here.