Python SWIG:%ignore keeps giving";输入(1)中的语法错误;

Python SWIG:%ignore keeps giving";输入(1)中的语法错误;,python,c++,swig,Python,C++,Swig,如果这个问题很愚蠢,请原谅,但我找不到一个在网络上使用%ignore的好例子。我试图用下面的命令生成C++代码的Python包装器: swig -python -c++ sample.i 我有一个如下所示的接口文件: %module sample %{ #include <file1.h> #include <file2.h> %} %ignore vprint %include <file1.h> %include <file2.h> %in

如果这个问题很愚蠢,请原谅,但我找不到一个在网络上使用%ignore的好例子。我试图用下面的命令生成C++代码的Python包装器:

swig -python -c++ sample.i
我有一个如下所示的接口文件:

%module sample
%{
#include <file1.h>
#include <file2.h>
%}

%ignore vprint
%include <file1.h>
%include <file2.h>
%include <file3.h>
%模块示例
%{
#包括
#包括
%}
%忽略vprint
%包括
%包括
%包括

我试图排除file1.h中定义的vprint函数,因为它将va_列表作为参数,SWIG不支持包装。当我包含%ignore语句时,会出现一个错误,说明“输入中的语法错误(1)”。没有它,我会得到一个正常的错误,告诉我我不能包装我试图忽略的函数。为什么会发生此错误?提前谢谢

您当然需要在
%ignore
后面加一个分号:

%ignore vprint;

您当然需要在
%ignore
后面加一个分号:

%ignore vprint;

它可能是标题中的某个内容,例如
\uu declspec(dllexport)
,您可以通过包含
windows.i
或其他内容使SWIG接受它。请记住,SWIG不能递归标头。它可能是标头中的某些内容,例如
\uu declspec(dllexport)
,您可以通过包含
windows.i
或其他内容使SWIG接受。请记住,SWIG不能递归标题。谢谢!我有点困惑,因为到目前为止我写的其他SWIG文件都不需要分号。@GenericAlias SWIG可能与分号要求有点不一致。通常额外的不会有任何伤害。谢谢!我有点困惑,因为到目前为止我写的其他SWIG文件都不需要分号。@GenericAlias SWIG可能与分号要求有点不一致。不过,通常额外的一个不会造成任何伤害。