使用 Swig 从 Go 中使用 C++ 类

Using C++ classes from Go using Swig

我想在 Windows7

中使用 swig 从 Go 使用 C++ class

当我构建项目时 "go build main.go" 我收到以下错误:

c:\..\Temp\go-build591352403/swtest.a(swtest_wrap.o): malformed pe file: __cgo_topofstack: invalid symbol binding 105

我在 Windows7 中使用 go 1.3 32 位、gcc 4.8.1 32 位和 swig 3.0。 我在 Windows7 中使用 64 位 Go 和 GCC 时看到同样的错误。

我能够使用 64 位 go 和 gcc 在 Ubuntu 上成功构建和 运行。

我是否遗漏了 windows 中的某些内容?

这是文件结构和内容。

主要(文件夹)

swtest(文件夹)

如果你觉得大胆,windows 上的 pe 错误已在 Go 1.5beta1 中修复。试一试!下载 1.5 beta2

请升级到 Go 1.5。这个问题在 Go 1.5 中得到了解决。 在以前的 Go 版本中,Windows OS 是已知问题。 Go 团队已在 1.5 中修复。 请查看以下主题,其中将提供更多信息。

Go with SWIG error in Windows