2016-01-26 106 views
0

我正在編寫一個使用Qt5.3的C++應用程序。它使用5.3中的WebSocket支持,所以我不能使用早期版本構建它。此外,它使用QT的WebKit支持,所以我不能靜態構建它。如何捆綁Linux應用程序?

此應用程序必須支持舊版發行版,例如存儲庫中沒有Qt5.3的Ubuntu 14.04 LTS。

如何讓我的應用程序支持分佈沒有Qt5.3?

+0

爲您最喜歡的發行版製作一些'.deb'(也許是'.rpm')軟件包;也許還要將Qt5.3編譯成一些包 –

+0

我爲Ubuntu 15.10+編譯,因爲他們的庫中有Qt5.4。 Qt是一個依賴項。但是,較舊的發行版在存儲庫中沒有合適的Qt。問題是:如何支持Ubuntu,Debian,什麼......的舊版本? –

+0

我建議編譯一個最新的Qt5,用於支持它們的所有發行版,然後打包Qt5 –

回答

1

關於如何在此構建Linux部署軟件包有一個很好的討論:http://doc.qt.io/qt-5/linux-deployment.html

我會親自發送我需要的共享庫,並將它們安裝在系統/usr/lib以外的空間,並使用LD_LIBRARY_PATH指向它們。這樣你就知道你正在使用Qt的當前版本運行它,並且你已經對它進行了測試。缺點是取決於鏈接的庫的數量,最終可能會有相當大的部署包。

+0

好吧,我已將一個包含Qt庫的應用程序放入'/ opt'中。傳統的Ubuntu發行版存在一個問題:應用程序沒有使用系統KDE風格。它剛剛默認它的Fusion。有什麼辦法可以讓它使用系統風格? –

+0

這可能是值得打開另一個問題,以獲得更多的知名度。 –

相關問題