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

有没有如何使用 SWIG 生成带有 go build 的 C++ 建筑的示例?

有没有如何使用 SWIG 生成带有 go build 的 C++ 建筑的示例?

Go
qq_笑_17 2021-07-10 16:02:22
我正在尝试使用Golang OpenGL 绑定来镶嵌一个简单的三角形该库没有声称支持镶嵌着色器,但我查看了源代码,添加正确的绑定似乎并不十分棘手。所以我分支它并尝试在gl_defs.go 中添加正确的常量。绑定仍然可以很好地编译,我的程序也是如此,当我真正尝试使用新的绑定时,事情变得很奇怪。每当我实际尝试包含曲面细分着色器时,程序都会从显示一个漂亮的圆形三角形变为黑屏。我正在关注 OpenGL Superbible(第 6 版)并在这个项目中使用他们的着色器,所以我不会想象我正在使用损坏的着色器(无论如何他们不会吐出错误日志)。但是,如果着色器本身可能有问题,可以在此处的setupProgram()函数中找到它们。我很确定我的显卡支持镶嵌,因为打印 openGL 版本会返回4.4.0 NVIDIA 331.38.所以我的问题:是否有任何理由为镶嵌添加 go 绑定不起作用?绑定看起来很简单。我是否错误地添加了新绑定?如果它应该工作,为什么它不适合我?我在这里做错了什么?
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

查看将 Swig 支持添加go build到 的错误报告,它看起来像是根据文件扩展名决定如何编译 SWIG 包装器:

  • .swig 文件被视为 C

  • .swigcxx 文件被视为 C++

如果重命名foo.swigfoo.swigcxx,它应该使用正确的 SWIG 标志和编译器。


查看完整回答
反对 回复 2021-07-19
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

有关使用 C++ 的 SWIG 代码示例,请参阅 Go 源代码中的 misc/swig/callback。


查看完整回答
反对 回复 2021-07-19
  • 3 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

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