为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
三国纷争 2021-09-13 19:39:13
我想在 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 中修复。请查看以下线程,它将提供更多信息。



查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信