golang如何将.dll、.dylib、.so嵌入到产品中?

问题描述 投票:0回答:1

我正在尝试为 C++ OCR 库编写一个 Go 模块,进展顺利,但后续遇到了两个问题。

  1. 使用 go build 构建产品时,产品必须与 OCR 库一起部署才能正常运行,如何将 OCR 库(.dll、.dylib、.so 文件)直接嵌入到产品中?
  2. 其他开发者使用go get导入我的Go模块后,需要手动配置OCR库,如何配置才能让其他开发者自动编译安装OCR库?

我参考了Golang的SQLite3,但不幸的是我发现它是使用go直接重新实现SQLite。

我也尝试过使用embed,但是结果是cgo无法正确读取。

我希望能够嵌入这些零碎内容,以节省其他开发人员和用户手动安装和配置 OCR 库的麻烦。

go embed cgo
1个回答
0
投票

两个想法:

  1. 将库与您的产品一起运送

  2. 将外部库静态链接到您的产品中

    根据我的经验,这可能很棘手,特别是如果交叉编译在您的愿望清单上的话。在朝这个方向前进之前,先本地解决它,以缩小问题环境的范围。

从法律上讲,这两种可能性都取决于第 3 方库的许可证。

© www.soinside.com 2019 - 2024. All rights reserved.