草庐IT

SWIG_NewPointerObj

全部标签

c++ - 使用 SWIG 在 GO 中包装 OpenCV 的 C++ API

我正在尝试使用SWIG包装OpenCV的C++API。现在,我已经安装了系统级的OpenCV。我的问题是:是否可以包装“系统级”库而不将它们放入我的SWIG文件的同一目录中?比如我的opencv的头文件在/usr/local/opt/opencv/opencv2/opencv.hpp。我可以在SWIG中使用%include"opencv2/opencv.hpp"吗?我应该如何开始这项工作?我应该先包装CONSTANT吗?谢谢。 最佳答案 您可以%include任何您喜欢的头文件。它不必位于同一目录中。我会首先考虑您想要呈现给Go程序

go - 由于缺少包含路径,无法构建使用 Swig 构建的 go 模块

在我的swig接口(interface)文件中,我使用了以下内容:%{#include"lib-cpp/types/lists/linked-list.hpp"%}%include"lib-cpp/types/lists/linked-list.hpp"但是,当我运行goinstall时,我得到:navdb_go_client_wrap.cxx:258:14:fatalerror:'lib-cpp/types/lists/linked-list.hpp'filenotfound如何为goinstall指定包含目录? 最佳答案 将CP

go - 由于缺少包含路径,无法构建使用 Swig 构建的 go 模块

在我的swig接口(interface)文件中,我使用了以下内容:%{#include"lib-cpp/types/lists/linked-list.hpp"%}%include"lib-cpp/types/lists/linked-list.hpp"但是,当我运行goinstall时,我得到:navdb_go_client_wrap.cxx:258:14:fatalerror:'lib-cpp/types/lists/linked-list.hpp'filenotfound如何为goinstall指定包含目录? 最佳答案 将CP

c++ - 自从在 Golang 中删除了一些 C 之后,SWIG for go 是否已经过时了?

我一直在尝试为open-vcdiff生成一个Go包装器,所以我通过以下尝试第一次了解了SWIG:godelta.swig%modulegodelta%include"include/godelta.hpp"godelta.hpp#include"config.h"#include#include#ifdefWIN32#include#include#endif//WIN32#include#include"google/vcdecoder.h"#include"google/vcencoder.h"#include"google/jsonwriter.h"#include"google

c++ - 自从在 Golang 中删除了一些 C 之后,SWIG for go 是否已经过时了?

我一直在尝试为open-vcdiff生成一个Go包装器,所以我通过以下尝试第一次了解了SWIG:godelta.swig%modulegodelta%include"include/godelta.hpp"godelta.hpp#include"config.h"#include#include#ifdefWIN32#include#include#endif//WIN32#include#include"google/vcdecoder.h"#include"google/vcencoder.h"#include"google/jsonwriter.h"#include"google

python - SWIG:从 Python 调用 Go

可以使用SWIG从Python调用Go函数吗?我在SWIG中看到的Go示例似乎都是从Go调用C/C++函数。 最佳答案 其中一个Go编译器生成C(cgo)。我从未看过它,但可能有一条路径可以使用SWIG从Python调用这些函数。他们还有Cython,它将Python的一种形式转换为C,因此可以通过将两者结合起来以C作为胶水而不使用SWIG来提供另一个更直接的路径。PythonWM的一位Cython用户告诉我,只要小心,Cython可以生成不需要“魔法”运行时即可工作的C。他们的技术是使用Cython机制,例如cdef,使他们的Py

python - SWIG:从 Python 调用 Go

可以使用SWIG从Python调用Go函数吗?我在SWIG中看到的Go示例似乎都是从Go调用C/C++函数。 最佳答案 其中一个Go编译器生成C(cgo)。我从未看过它,但可能有一条路径可以使用SWIG从Python调用这些函数。他们还有Cython,它将Python的一种形式转换为C,因此可以通过将两者结合起来以C作为胶水而不使用SWIG来提供另一个更直接的路径。PythonWM的一位Cython用户告诉我,只要小心,Cython可以生成不需要“魔法”运行时即可工作的C。他们的技术是使用Cython机制,例如cdef,使他们的Py

gtk - 可以使用 swig 移植 gui 函数

我想知道是否可以使用swig包装器将gtkgui框架移植到Go?还是我只是生活在幻想世界中? 最佳答案 从技术上讲,是的。看起来SWIG对Go的支持目前是有限的。简单的SWIG包装器的真正问题是丑陋的细节泄露。生成的接口(interface)需要在其之上添加一个层以提供“Goish”行为,尤其是在垃圾收集和接口(interface)方面。 关于gtk-可以使用swig移植gui函数,我们在StackOverflow上找到一个类似的问题: https://sta

gtk - 可以使用 swig 移植 gui 函数

我想知道是否可以使用swig包装器将gtkgui框架移植到Go?还是我只是生活在幻想世界中? 最佳答案 从技术上讲,是的。看起来SWIG对Go的支持目前是有限的。简单的SWIG包装器的真正问题是丑陋的细节泄露。生成的接口(interface)需要在其之上添加一个层以提供“Goish”行为,尤其是在垃圾收集和接口(interface)方面。 关于gtk-可以使用swig移植gui函数,我们在StackOverflow上找到一个类似的问题: https://sta

c++ - SWIG 和 C++ 共享库

我有一个C++库(我们称之为mylib),它编译为/usr/local/lib中的libmylib.so文件,并且我在/usr/local/include中名为mylib的目录中有一堆头文件。现在我想做的事情(对于初学者)只是使用SWIG的一个头文件(它包含有关我的库提供的类的信息)来生成mylib_wrap.cxx文件然后编译它并将其链接到现有的mylib.so。这样我就可以在Python中实例化我的类。这是正确的方法/想法吗?编译和链接命令会是什么样子(当然不完全是)?我正在尝试生成Python绑定(bind)。 最佳答案 我为