我正在开发一个go库,我打算将其作为二进制工件进行分发。现在我知道有不同的-buildmode
选项,archive
应该为我做的很多,并且1.7 +' s //go:binary-only-package
使这个技巧成为官方。
但是,当我构建我的库时,生成的存档(*.a
)仅包含我的库,而不包含任何依赖项。我实际上有一个依赖项,它本身只是二进制文件,它本身就是一个静态链接的存档(它是我正在集成的C库)。
使用适当的本机代码存档我实际上能够使用ar
或libtool
技巧来组装这样一个胖存档 - 但这些工具并不适用于我的go工件。
有没有办法可以分发单个*.a
文件,或者我必须求助于将多个档案打包成一个类似于$GOPATH
中的目录结构的zip文件并告诉我客户的开发人员只需将其解压缩到他们的$GOPATH
并完成它?