我一直在尝试为c ++库创建一个python包装器。 Swig为这段代码提供了一个错误,我不明白导致错误的原因。我也是使用swig的新手。它给我的错误是“输入(2)中的语法错误”,这也是代码部分。
typedef void (__cdecl *TSI_FUNCTION_CAMERA_CONTROL_CALLBACK) (int ctl_event, void*context);
typedef void (__cdecl *TSI_FUNCTION_CAMERA_CONTROL_CALLBACK_EX) (int ctl_event, TSI_FUNCTION_CAMERA_CONTROL_INFO *ctl_event_info, void *context);
typedef void (__cdecl *TSI_FUNCTION_IMAGE_NOTIFICATION_CALLBACK) (int notification, void *context);
typedef void (__cdecl *TSI_FUNCTION_IMAGE_CALLBACK) (TsiImage *tsi_image, void *context);
typedef void (__cdecl *TSI_TEXT_CALLBACK_FUNCTION) (char *str, void *context);
答案 0 :(得分:1)
SWIG不了解__cdecl。您可能需要添加`%include" windows.i"到你的接口文件。您可能有其他未定义的符号,但是根据您提供的信息我无法分辨。
%module example
%{
#include "example_if.h"
%}
...
# Here it must be present
%include "windows.i"
...
%include "example_if.h"