将参数传递给使用SWIG for Python包装的C函数

将参数传递给使用SWIG for Python包装的C函数,python,c,Python,C,我想使用以下给出的专有库: library.dll library.lib header1.h header2.h 除了typedef结构之外,*.h文件还包含几十个非常大的: EXIMPORT functionName ( int hello, int *alpha, double *bravo, double **charlie, specialType **delta, ... superType *echo, int (*whatever)(int*,d

我想使用以下给出的专有库:

library.dll
library.lib
header1.h
header2.h
除了typedef结构之外,*.h文件还包含几十个非常大的:

EXIMPORT functionName
( int hello,
  int *alpha,
  double *bravo,  
  double **charlie,
  specialType **delta,
  ...
  superType *echo,
  int (*whatever)(int*,double*,char*,int,double,char),
  int (*something)(arbitrary *)
);
所以我创建了这个“library.I”-文件

…用…包装和编译它

swig -python -o library_wrap.cpp library.i
g++ -c -Wall library_wrap.cpp -I C:\Python27\include
g++ -Wall -shared library_wrap.o -o _library.pyd -L C:\Python27\libs\ -lpython27 -L D:\swigwin-3.0.10\folder\ -llibrary
…创建“library.py”和“_library.pyd”。然后在Python中

import library
library.functionName()
…返回到

TypeError: functionName() takes exactly 42 arguments (0 given)
现在,我如何传递和返回所有参数?到目前为止,我发现:


我真的需要手工写所有这些打字图吗?这是不可接受的,因为函数的数量和大小都很大。。。难道没有更简单的方法吗?< /P>是关于C还是C++的问题?请选择一个并删除另一个标记。
TypeError: functionName() takes exactly 42 arguments (0 given)