Golang 新手求助: 请问如何处理.so 库的依赖?

2021-06-14 17:20:51 +08:00
 UnitTest

想用 libvips 处理图片, github 上找到了一个 govips 的库, 需要本机先安装 libvips,

我的理解是 govips 相当于是对 libvips 的一层封装, 之后我用 go build 打包生成的可执行文件并不包含 libvips 的内容,

当我上传到服务器的时候, 服务器还要安装一次 libvips,

请问这种情况有没有更好的处理方式?

之前一直用 nodejs, nodejs 的 sharp 在 install 之后会把库也下载下来, 不需要本机安装 libvips, 感觉比 go 方便很多.

1109 次点击
所在节点    问与答
3 条回复
Jirajine
2021-06-14 18:04:18 +08:00
静态链接
DCCooper
2021-06-15 07:37:50 +08:00
楼上+1,静态编译

$ go build -ldflags="-extldflags=-static"
UnitTest
2021-06-15 16:54:54 +08:00
@DCCooper 感谢回复, 之前不知道这个术语, 具体查了一下发现理论上是用这个参数的,
但是好像 libvips 打包还是有很多问题, 一直报错提示 undefined reference , 网上搜了下好像 govips 不太容易打包.
不行的话我还是系统里安装 libvips 吧.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX