Swig - 包装 C 结构
我正在尝试为使用 struct 的 C 代码编写 Python 包装。
modules.c:
struct foo
{
int a;
};
struct foo bar;
modulues.i
%module nepal
%{
struct foo
{
int a;
}
%}
extern struct foo bar;
但在编译过程中出现错误:
在函数“Swig_var_bar_set”中: 错误:“bar”未声明(在此函数中首次使用)
您能帮我正确定义导出结构变量吗?
I am trying to write Python wrap for C code which uses struct.
modules.c:
struct foo
{
int a;
};
struct foo bar;
modulues.i
%module nepal
%{
struct foo
{
int a;
}
%}
extern struct foo bar;
But during compiling I am given error:
In function ‘Swig_var_bar_set’:
error: ‘bar’ undeclared (first use in this function)
Could you be so kind to help me how to correctly define export struct variable ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
%{ %} 中的代码被插入到包装器中,并且它下面的代码被解析以创建包装器。将所有这些都放在头文件中会更容易,因此不会那么重复:
modules.h
modules.c
modules.i
Try this:
The code in %{ %} is inserted in the wrapper, and the code below it is parsed to create the wrapper. It's easier to put this all in a header file so it is not so repetitive:
modules.h
modules.c
modules.i