【问题标题】:Including a shared library in a go build在 go build 中包含一个共享库
【发布时间】:2018-04-27 23:26:10
【问题描述】:

在为 linux 构建时如何包含 SO 文件?对于 Windows,我只是将 dll 放在同一个文件夹中,但这不适用于 linux 构建。特别是,我正在构建一个 go sciter 项目,需要在可执行文件/包中包含libsciter-gtk-64.so

【问题讨论】:

  • 将 dll 添加到源文件夹不会将其构建到二进制文件中。请说明你在做什么。

标签: go sciter


【解决方案1】:

我解决这个问题的方法是使用一个额外的工具,它具有可选桌面文件和其他元数据的额外好处。 AppImage 解决了库问题,我所要做的就是使用 /usr/lib/ 中的 so 文件创建一个 AppImage 并通过它们的命令构建。

【讨论】:

    【解决方案2】:

    @Robert 的解决方案很好。也可以将 *.so 文件放在与可执行文件相同的目录中,并使用以下行创建一个 start.sh 脚本:

    LD_LIBRARY_PATH="$(dirname "$0")" "$(dirname "$0")/your_executable"
    

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 2016-02-22
      • 2010-12-17
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多