簡體   English   中英

分發使用wxWidgets的C ++ Linux應用程序的選項

[英]Options for distributing a C++ Linux application that uses wxWidgets

我正在使用一個使用wxWidgets的C ++ Linux應用程序,需要將其作為已編譯的二進制應用程序進行分發。 項目負責人已指定我們要包括應用程序的所有依賴項,以便最終用戶不需要安裝任何東西來運行應用程序,只要它們已經安裝了標准系統組件( libc等)。 我認為這個要求是最終用戶要求的。 我知道這不是您可能認為的Linux應用程序的“正常”分發過程。

對於自身沒有很多依賴項的簡單庫,這不是問題。 但對於wxWidgetswebkitgtk問題,這是WebView類(在應用程序中使用)所必需的。 webkitgtk本身有許多依賴項,它們可能有自己的依賴項,依此類推。 基本上,通過嘗試將所有內容都包含在應用程序中,看起來我正在打開真正的蠕蟲病毒,而項目中更高級的開發人員似乎也同意這一點。

所以我想知道,我有什么選擇分發這樣的應用程序? 我已經嘗試搜索有關這方面的信息,而流行的觀點似乎是讓最終用戶安裝wxWidgets 這些是我遇到的選項:

  • 根據項目負責人的需要,將所有依賴項編譯為共享庫。 這樣做的缺點是有許多庫需要擔心,這將導致嚴重的膨脹。
  • 要求最終用戶安裝wxWidgets (在GTKwebkitgtk )。 這里的缺點是用戶必須安裝多個依賴項,如果它們不在包管理器中具有上述適當版本的發行版上,這對他們來說可能是一個真正的麻煩。 這也意味着我們無法提供特別要求的東西。
  • 要求最終用戶安裝GTKwebkitgtk ,但不要安裝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.

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