gpt4 book ai didi

linux - 如何使用在旧 Linux 系统(例如 RedHat 4 或 RedHat 5)上运行的 Qt 5.5 构建软件?

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:15 33 4
gpt4 key购买 nike

我正在尝试编译一个使用 Qt 5.5 的应用程序(Qt Installer Framework),这样生成的(静态链接的)二进制文件可以在旧的 Linux 系统(例如 RedHat 5 甚至 RedHat 4)上运行。

我的理解是,为了生成在某些特定 Linux 发行版上运行的二进制文件,我应该在具有兼容(即足够旧)glibc 版本的系统上构建它们,而这又似乎依赖于某些 Linux 内核版本(对于系统调用等等?)。 documentation建议通过以下方式配置 Qt 构建

$ configure -prefix $PWD/qtbase -release -static -accessibility -qt-zlib -qt-libpng -qt-libjpeg -qt-xcb -qt-pcre -qt-freetype -no-glib -no-cups -no-sql-sqlite -no-qml-debug -no-opengl -no-egl -no-xinput -no-xinput2 -no-sm -no-icu -nomake examples -nomake tests -skip qtactiveqt -skip qtenginio -skip qtlocation -skip qtmultimedia -skip qtserialport -skip qtquick1 -skip qtquickcontrols -skip qtscript -skip qtsensors -skip qtwebkit -skip qtwebsockets -skip qtxmlpatterns

唉,即使禁用了如此多的 Qt 组件,在非常旧的 Linux 系统上构建 Qt 5.5 似乎也是有问题的,因为它依赖于某些 xcb版本(1.5 或 1.7,如果我没记错的话)仅适用于 RHEL6 或更新版本。

这让我想知道:是否可以使用 Qt 5.5 构建软件,以便生成的二进制文件可以部署到较旧的 Linux 发行版(RedHat 4 和 5 在商业领域仍然有些流行)?如果是这样,我可能需要用一些特定的标志或类似的东西来配置 Qt 吗?对于它的值(value),我不需要大多数 Qt 功能。只有核心、小部件和 QML(用于脚本),但没有 WebKit 或 SQL。

最佳答案

您可能能够在这些系统上编译 xcb,然后使用该 xcb 库构建 Qt 并将其与您的应用程序一起发布。如果我理解正确的话:

Since the protocol is standardized, a client using any implementation of XCB may talk with any X server (the same occurs for Xlib, of course).

来自 this XCB tutorial ,一个 xcb 客户端仍将与任何 X 服务器通信,因为底层协议(protocol)没有改变。但是你必须做一些实验......

关于linux - 如何使用在旧 Linux 系统(例如 RedHat 4 或 RedHat 5)上运行的 Qt 5.5 构建软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33363188/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com