我想在 Windows7 中使用 swig 使用 Go 中的 C++ 类当我构建项目“go build main.go”时,出现以下错误:c:\..\Temp\go-build591352403/swtest.a(swtest_wrap.o): 格式错误的 pe 文件: __cgo_topofstack: 无效的符号绑定 105我在 Windows7 中使用 go 1.3 32bit、gcc 4.8.1 32bit 和 swig 3.0。当我在 Windows7 中使用 64 位 Go 和 GCC 时,我看到同样的错误。我能够使用 64 位 go 和 gcc 在 Ubuntu 上成功构建和运行。我在 Windows 中遗漏了什么吗?这是文件结构和内容。主(文件夹)main.gopackage mainimport ( "swtest")func main() { swtest.NewSwt().Print("Swig test!")}swtest(文件夹)测试文件#include "swtest.h"void Swt::Print(const std::string& s){ std::cout << s; std::cout << std::endl;}测试文件 #ifndef SWTEST_H #define SWTEST_H #include <string> #include <iostream> class Swt { public: void Print(const std::string& s); }; #endif swtest.go package swtestswtest.swigcxx%module swtest%include "std_string.i"%{#include "swtest.h"%}%include "swtest.h"
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
请升级到 Go 1.5。这个问题在 Go 1.5 中得到解决。在以前的 Go 版本中,这是 Windows 操作系统中的已知问题。Go 团队已在 1.5 中修复。请查看以下线程,它将提供更多信息。
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消