将参数传递给使用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)