SWIG + SCIPY = PyArray_TYPE上的导入错误

时间:2010-10-12 21:08:43

标签: python swig scipy

嘿帮派,所以我为一些C代码写了一个swig包装器。我正试图弥合scipy数组和C数组之间的差距,我知道它是凌乱的。经过简洁的编译(好吧......不包括一些警告......)我在加载python-swig-c模块时遇到了这个问题:

undefined symbol: PyArray_TYPE

我在下面添加了我的swig界面文件 - 我使用了swig-pythonc教程来编写这些东西:

%module pycimpl

%{
    #define SWIG_FILE_WITH_INIT
    #include "cimpl.h"
%}

%include "numpy.i"
%init %{
    import_array();
%}

%include "typemaps.i"

%apply (double* INPLACE_ARRAY1, int DIM1, int* INPLACE_ARRAY2, int DIM2, int* INPLACE_ARRAY3, int DIM3, double* INPLACE_ARRAY4, int DIM4, double* OUTPUT) { (double a[], int adim, int rowidx[], int rowidxdim, int colstr[], int colstrdim, double x[], int xdim, double* zeta) }

double cimpl(double a[], int adim, int ridx[], int ridxdim, int cstr[], int cstrdim, double x[], int xdim, double* zeta);

%include "cimpl.h"

非常感谢任何帮助!

干杯!

CT

1 个答案:

答案 0 :(得分:0)

为什么不使用ctypes或pyrex / cython而不是SWIG? (见Python: SWIG vs ctypes