任何人都可以就我如何打包使用 git2go、libssl 和 libssh2 的 GO 程序提供一些建議(或資源),以便它不需要最終用戶單獨安裝這些庫?我只針對 Linux 發(fā)行版(如果重要的話)
1 回答

慕后森
TA貢獻1802條經(jīng)驗 獲得超5個贊
一種方法是靜態(tài)構(gòu)建這些依賴項,并使用PKG_CONFIG_PATH
指向您自己的副本的點,以便所有內(nèi)容都靜態(tài)鏈接。這應(yīng)該讓 CMake 選擇靜態(tài)版本。
但是,如果目標(biāo)是避免依賴于用戶安裝的庫,而不是使所有內(nèi)容都成為單個可執(zhí)行文件,我會建議傳送庫并使用加載路徑來確保它們被加載。隨著gcc
你通過-Wl,-R
設(shè)置在二進制文件本身的搜索路徑,這樣你就可以設(shè)置到哪里尋找你與你的應(yīng)用程序出貨共享庫。有了go
它看起來像你可以傳遞-r
給連接器(通過-ldflags
或手動)做同樣的事情。
libgit2 具有相當(dāng)?shù)目蓴U展性,因此還有第三種選擇,即在 Go 中實現(xiàn) TLS 流和 SSH 傳輸,并將它們插入不支持這些的 libgit2 版本中。然而,這是大量的工作。
- 1 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消