簡體   English   中英

如何使用在舊Linux系統(例如RedHat 4或RedHat 5)上運行的Qt 5.5構建軟件?

[英]How can I build software using Qt 5.5 which runs on old Linux systems (e.g. RedHat 4 or RedHat 5)?

我正在嘗試編譯使用Qt 5.5的應用程序( Qt安裝程序框架 ),以使生成的(靜態鏈接的)二進制文件在較舊的Linux系統(例如RedHat 5甚至RedHat 4)上都能正常工作。

我的理解是,為了生成在某些特定Linux發行版上運行的二進制文件,我應該在具有兼容(即,足夠老)的glibc版本的系統上構建它們,而該版本又依賴於某些Linux內核版本(用於syscall或類似)。 ?)。 文檔建議通過以下方式配置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組件,由於對某些xcb版本(如果我沒記錯的話,是1.5或1.7)的依賴(僅在RHEL6或更高版本上可用),在非常老的Linux系統上構建Qt 5.5似乎也是有問題的。

這讓我感到奇怪:是否可以使用Qt 5.5來構建軟件,以便將生成的二進制文件部署到較舊的Linux發行版中(在商業術語中RedHat 4和5仍然比較流行)? 如果是這樣,我是否可能需要為Qt配置一些特定的標記或類似標記? 對於它的價值,我不需要大多數Qt功能。 只是核心,小部件和QML(用於腳本編寫),而沒有WebKit或SQL。

您可能能夠在這些系統上編譯xcb,然后使用該xcb庫構建Qt並將其與您的應用程序一起提供。 如果我正確理解:

由於該協議是標准化的,因此使用XCB的任何實現的客戶端都可以與任何X服務器通信(當然,對於Xlib也會發生這種情況)。

本XCB教程開始 ,由於基礎協議未更改,因此xcb客戶端仍將與任何X服務器通信。 但是您必須做一些實驗...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM