我正在研究使用wxWidgets
並需要作爲已編譯的二進制應用程序進行分發的C++ Linux應用程序。項目主管已經指定我們要包含應用程序的所有依賴關係,以便最終用戶不需要安裝任何東西來運行應用程序,只要他們已經安裝了標準系統組件(libc
等)。我認爲這個要求是最終用戶要求的。我知道這不是您可能認爲是Linux應用程序的「正常」分發過程。發佈使用wxWidgets的C++ Linux應用程序的選項
對於自己沒有很多依賴關係的簡單庫,這不是問題。但是對於wxWidgets
我遇到了類(在應用程序中使用)需要webkitgtk
的問題。 webkitgtk
本身有很多依賴關係,可能有自己的依賴關係,依此類推。基本上,我想通過在應用程序中包含所有東西來打開真正的蠕蟲病毒庫,而項目中更高級的開發人員似乎也同意這一點。
所以我想知道,我分配這樣的應用程序有什麼選擇?我試過尋找關於這方面的信息,而流行的看法似乎是讓最終用戶安裝wxWidgets
。這些是我遇到的選項:
- 將項目領導需要的所有依賴項編譯爲共享庫。這樣做的缺點是有許多庫需要擔心,這會導致顯着的膨脹。
- 要求最終用戶安裝
wxWidgets
(在GTK
和webkitgtk
之上)。這裏的缺點是用戶必須安裝多個依賴關係,如果他們不在包管理器中的上述合適版本的發行版上,這對他們來說可能是一件麻煩事。這也意味着我們不能提供特別要求的東西。 - 要求安裝最終用戶
GTK
和webkitgtk
,但不要安裝wxWidgets
。與上述相同,但依賴性較少。另一個缺點是,如果安裝了不同版本的依賴關係,那麼可能會存在版本兼容性問題,這與用於構建打包的wxWidgets
庫的版本相關。
我是否正確評估了這些不同選項的優缺點?有沒有我錯過的選項?
謝謝!