gpt4 book ai didi

go - 带有 libssl 和 libssh2 的 git2go 在单个二进制文件中

转载 作者:IT王子 更新时间:2023-10-29 01:42:24 25 4
gpt4 key购买 nike

谁能就如何打包使用 git2go、libssl 和 libssh2 的 GO 程序提供一些建议(或资源),这样它就不需要最终用户单独安装这些库?

我只针对 Linux 发行版(如果重要的话)

最佳答案

一种方法是静态构建这些依赖项,并使用 PKG_CONFIG_PATH 指向您自己的副本,以便所有内容都静态链接。这应该让 CMake 选择静态版本。

但如果目标是避免依赖于用户安装的库而不是将所有内容都变成一个可执行文件,我会建议运送库并使用加载路径以确保它们被加载。使用 gcc 时,您将传递 -Wl,-R 以在二进制文件本身中设置搜索路径,因此您可以设置在何处搜索要发布的共享库与您的应用程序。使用 go 看起来你可以将 -r 传递给链接器(通过 -ldflags 或手动)来做同样的事情。

libgit2 相当可扩展,因此还有第三种选择,即在 Go 中实现 TLS 流和 SSH 传输,并将它们插入到不支持这些的 libgit2 版本中。然而,这是一项大量的工作。

关于go - 带有 libssl 和 libssh2 的 git2go 在单个二进制文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34353216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com