【发布时间】:2016-07-19 17:08:30
【问题描述】:
如果这个问题很愚蠢,请原谅我,但我找不到在网络上使用 %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>
我试图排除在 file1.h 中定义的 vprint 函数,因为它接受 va_list 作为参数,而 SWIG 不支持包装。当我包含 %ignore 语句时,我收到一条错误消息,指出“输入 (1) 中的语法错误”。没有它,我会收到正常错误,告诉我无法包装我试图忽略的函数。为什么会发生此错误?提前致谢!
【问题讨论】:
-
这可能是您的标题中的内容,例如
__declspec(dllexport),您可以通过包含windows.i或其他内容来让 SWIG 接受它。请记住,SWIG 不能递归标头。