[英]Options for distributing a C++ Linux application that uses wxWidgets
我正在使用一個使用wxWidgets
的C ++ Linux應用程序,需要將其作為已編譯的二進制應用程序進行分發。 項目負責人已指定我們要包括應用程序的所有依賴項,以便最終用戶不需要安裝任何東西來運行應用程序,只要它們已經安裝了標准系統組件( libc
等)。 我認為這個要求是最終用戶要求的。 我知道這不是您可能認為的Linux應用程序的“正常”分發過程。
對於自身沒有很多依賴項的簡單庫,這不是問題。 但對於wxWidgets
我webkitgtk
問題,這是WebView
類(在應用程序中使用)所必需的。 webkitgtk
本身有許多依賴項,它們可能有自己的依賴項,依此類推。 基本上,通過嘗試將所有內容都包含在應用程序中,看起來我正在打開真正的蠕蟲病毒,而項目中更高級的開發人員似乎也同意這一點。
所以我想知道,我有什么選擇分發這樣的應用程序? 我已經嘗試搜索有關這方面的信息,而流行的觀點似乎是讓最終用戶安裝wxWidgets
。 這些是我遇到的選項:
wxWidgets
(在GTK
和webkitgtk
)。 這里的缺點是用戶必須安裝多個依賴項,如果它們不在包管理器中具有上述適當版本的發行版上,這對他們來說可能是一個真正的麻煩。 這也意味着我們無法提供特別要求的東西。 GTK
和webkitgtk
,但不要安裝wxWidgets
。 與上面相同的缺點,但具有較少的依賴性。 另一個缺點是,如果安裝了不同版本的依賴項,則可能存在版本兼容性問題,而不是用於構建打包的wxWidgets
庫。 我對這些各種選擇的利弊評估是否正確? 我有什么選擇嗎?
謝謝!
大衛,最好的解決方案可能是要求用戶安裝X11,GTK + {2,3}和WebKit-GTK。 wxWidgets可以與應用程序靜態鏈接。
您可以要求用戶將WebKit-GTK設置為至少版本XYZ,並且應滿足要求。 將WebKit-GTK與其所有依賴項集成,特別是因為依賴於GTK +本身將非常困難。 所以如果你走這條路,你就會被搞砸了。
作為linux用戶,我通過包管理器投票支持手動依賴安裝。 它並不難,甚至可以自動完成,如果你提供包(不只是二進制)。 攜帶運行時可能會導致問題(例如Debian上的Steam)。 另一種選擇是提供兩種口味:全包和依賴性要求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.