如何在 SWIG 生成的 Go 包装器中添加导入语句
Posted
技术标签:
【中文标题】如何在 SWIG 生成的 Go 包装器中添加导入语句【英文标题】:How to add an import statement in a Go wrapper generated by SWIG 【发布时间】:2021-09-15 07:12:13 【问题描述】:我有一个由SWIG
为Go
语言生成的包装器。在这个包装器中,我插入了一些需要 reflect
包的 Go
代码。因此,我需要在此包装器中添加行 import "reflect"
。 SWIG
中是否有示例说明如何执行此操作?
【问题讨论】:
【参考方案1】:我想你想要的是section 23.4.10 添加额外的go代码即关于
的部分如果你需要导入其他的 go 包,你可以使用 %go_import 来完成。比如……
%go_import("fmt", _ "unusedPackage", rp "renamed/package")
%insert(go_wrapper) %
func foo()
fmt.Println("Some string:", rp.GetString())
// Importing the same package twice is permitted,
// Go code will be generated with only the first instance of the import.
%go_import("fmt")
%insert(go_wrapper) %
func bar()
fmt.Println("Hello world!")
%
【讨论】:
完美运行 - 谢谢!以上是关于如何在 SWIG 生成的 Go 包装器中添加导入语句的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SWIG 在 C++ API 上生成 C 包装器? [复制]
无法为 c++ python 扩展编译 swig 生成的包装器