首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QT5.5构建软件,QT5.5运行在旧的Linux系统上(例如RedHat 4或RedHat 5)?

如何使用QT5.5构建软件,QT5.5运行在旧的Linux系统上(例如RedHat 4或RedHat 5)?
EN

Stack Overflow用户
提问于 2015-10-27 08:38:08
回答 1查看 330关注 0票数 0

我正在尝试编译一个应用程序( Qt安装程序框架),它使用QT5.5,以便生成的(静态链接的)二进制文件可以在较旧的RedHat 5甚至RedHat 4系统上工作。

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

代码语言:javascript
复制
$ 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系统上构建QT5.5似乎也是有问题的,因为它依赖于某些xcb版本(如果我记得的话是1.5或1.7 ),而该版本只能在RHEL6或更高版本上使用。

这让我不禁纳闷:是否有可能使用QT5.5构建软件,这样就可以将产生的二进制文件部署到较旧的Linux发行版中(RedHat 4&5在商业术语中仍然比较流行)?如果是这样的话,我是否需要使用一些特定的标志来配置Qt?不管它的价值如何,我不需要大多数Qt功能。只有核心、小部件和QML (用于脚本编写),但没有WebKit或SQL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-27 18:02:08

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

由于协议是标准化的,使用任何XCB实现的客户端可以与任何X服务器进行通信(当然,Xlib也是如此)。

本XCB教程中,xcb客户端仍将与任何X服务器对话,因为底层协议并没有改变。但你得做些实验..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33363188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档