V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
UnitTest
V2EX  ›  问与答

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

  •  
  •   UnitTest · 2021-06-14 17:20:51 +08:00 · 1200 次点击
    这是一个创建于 1292 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    3 条回复    2021-06-15 16:54:54 +08:00
    Jirajine
        1
    Jirajine  
       2021-06-14 18:04:18 +08:00 via Android
    静态链接
    DCCooper
        2
    DCCooper  
       2021-06-15 07:37:50 +08:00 via iPhone
    楼上+1,静态编译

    $ go build -ldflags="-extldflags=-static"
    UnitTest
        3
    UnitTest  
    OP
       2021-06-15 16:54:54 +08:00
    @DCCooper 感谢回复, 之前不知道这个术语, 具体查了一下发现理论上是用这个参数的,
    但是好像 libvips 打包还是有很多问题, 一直报错提示 undefined reference , 网上搜了下好像 govips 不太容易打包.
    不行的话我还是系统里安装 libvips 吧.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2718 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:11 · PVG 20:11 · LAX 04:11 · JFK 07:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.