Swig 使用非常量声明来确定 typedeffed 数组的大小
Swig using non constant declarations for size of typedeffed array
我正在尝试用 Python 的 swig 包装一个 C 项目。
我有一个 .h 文件,我用 %include 包含在 swig 中。我希望包装头文件中的所有内容。
我可以做些什么来处理以下错误,而无需编辑源头文件。
test.h
#define SEPARATOR "-"
#define SEPARATOR_SIZE ((int)sizeof(SEPARATOR))
typedef char SEPARATOR_ARRAY [SEPARATOR_SIZE];
test.i
%module test
%{
#include "test.h"
%}
%include test.h
在 运行 swig -python test.i
之后我得到 test.h:3: Error: Syntax error in input(1).
使用 swig 版本 4.0.2。
找到答案:
Swig 仅支持 sizeof()。由于这个问题,已经提交了 swig 的 github,它处理 sizeof 中一些进一步值的解析,例如“foo”'f' 和 300,但这似乎仍然会在以后导致编译问题。
https://github.com/swig/swig/commit/7ab24e7e865e0f1281f002fefdaba11b80416ea2
我正在尝试用 Python 的 swig 包装一个 C 项目。 我有一个 .h 文件,我用 %include 包含在 swig 中。我希望包装头文件中的所有内容。
我可以做些什么来处理以下错误,而无需编辑源头文件。
test.h
#define SEPARATOR "-"
#define SEPARATOR_SIZE ((int)sizeof(SEPARATOR))
typedef char SEPARATOR_ARRAY [SEPARATOR_SIZE];
test.i
%module test
%{
#include "test.h"
%}
%include test.h
在 运行 swig -python test.i
之后我得到 test.h:3: Error: Syntax error in input(1).
使用 swig 版本 4.0.2。
找到答案:
Swig 仅支持 sizeof(
https://github.com/swig/swig/commit/7ab24e7e865e0f1281f002fefdaba11b80416ea2