登录
首页 >  Golang >  Go问答

使用 swig 创建 go 模块的导入

来源:stackoverflow

时间:2024-02-12 08:45:17 248浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《使用 swig 创建 go 模块的导入》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我刚刚拿起 swig 来尝试将一个用 c++ 编写的大型库移植到 golang。构建和安装都很顺利,现在我想在我正在开发的另一个项目中使用它来测试它。我在库目录根目录下的一个单独的 swig 目录中构建了该模块,并将带有 swig 更改的库的分支推送到我自己的存储库中。结构如下所示

.
├── bin
├── buildfiles
├── doc
├── GoPro
├── internal
├── lib
├── libraw
├── m4
├── object
├── RawSpeed
├── RawSpeed3
├── samples
├── src
└── swig
      ├── go.mod
      ├── libraw.go
      ├── libraw.i
      ├── libraw_c_api.cxx
      └── libraw_wrap.c

swig/go.mod 文件中的模块名称为 github.com/mrht-srproject/librawgo。 我尝试将该模块包含在另一个项目中,但失败并出现错误 module github.com/mrht-srproject/librawgo@latest found (v0.0.0-20221005050554-bc562f90d08d),但不包含包 github.com/mrht-srproject /librawgo。我假设它与作为项目子文件夹的模块有关,但我不太确定。


正确答案


事实证明,go 期望模块内有一个子文件夹,其包名称与 swig 中定义的模块相同。通过将 swig 目录重命名为模块的名称,我让它工作了。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>