【发布时间】:2023-12-24 23:38:01
【问题描述】:
由于 OpenGL 依赖项(即 OpenGL ES2),我无法在没有 GUI 元素的情况下在我的 Cortex-A9 板上运行 Qt5。我正在运行 Ubuntu 14.04 rootfs。
有什么方法可以从 git 存储库开始禁用 GUI 类的生成? (目标版本 5.3)。 我需要的唯一模块是 QtCore、QtXML 和 QtWebSockets/QtNetwork
【问题讨论】:
由于 OpenGL 依赖项(即 OpenGL ES2),我无法在没有 GUI 元素的情况下在我的 Cortex-A9 板上运行 Qt5。我正在运行 Ubuntu 14.04 rootfs。
有什么方法可以从 git 存储库开始禁用 GUI 类的生成? (目标版本 5.3)。 我需要的唯一模块是 QtCore、QtXML 和 QtWebSockets/QtNetwork
【问题讨论】:
以下似乎让 Qt5 使用 LinuxFB 驱动程序而不是 OpenGL 进行编译。
./configure -qpa linuxfb -no-largefile -opensource -verbose -release \ -无可访问性-确认-许可-无-sse-无-sse2 \ -qt-zlib -qt-libpng -nomake 示例 -nomake 演示 -nomake 文档 -nomake 测试 \ -make libs --prefix=/usr -no-pch -no-iconv -no-nis -no-xkb -no-xshape \ -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-kms \ -no-directfb -no-eglfs -no-xcb -no-dbus -no-icu -no-cups -no-gif \ -no-accessibility -no-opengl -nomake quick -make quick1 \ -skip 多媒体 -skip webkit -nomake webkit -no-pkg-config \ -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci \ -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ -no-sql-sqlite_symbian -no-sql-tds -nomake 工具 \ -device linux-custom-g++ -device-option CROSS_COMPILE=$TGT_TOOL_NAME-关键是,-no-opengl 和 -nomake quick。 QtQuick2 将拉入 OpenGL。
另外看来我必须做以下事情,
touch module_qtwebkit-make_first
这会阻止构建系统尝试制作 QtWebKit;它似乎有问题。这仍然有 GUI 类,但不要链接到它们。那是在普通的make 之前。对于安装目标,
touch module_qtwebkit-install_subtargets
是必需的。以后的 Qt5 版本可能已经修复了 QtWebkit 构建问题。
【讨论】:
看来至少Qt 5.6.2支持-no-gui和-no-widgets配置选项。
【讨论】:
Ubuntu 团队自己宣布 Qt5.3。仍在对 armhf 平台进行调查,并且可能从 14.10 版本开始提供。 不知何故,在Qt论坛上爬,在没有OpenGL/GUI模块的情况下,缺少依赖和编译错误。
我解决了它从存储库安装 1t 5.2.1,然后从 git 存储库安装缺少的 QWebSocket 模块。
为了使这个模块与旧的 Qt 版本兼容,文件 .qmake.conf:
MODULE_VERSION = 5.3.2 --> to desired one (i.e. 5.2.1)
【讨论】: