У меня проблемы с запуском чистого примера.
Я использую это для объявления функции в Cython, исходящей из заголовка cinterf.h
:
cdef extern from 'cinterf.h':
int xsb_init_string(char* p_xsb_path)
Объявление вфайл заголовка C:
DllExport extern int call_conv xsb_init_string(char *);
и DllExport, и call_conv являются макросами, определенными в другом месте, и разрешаются в директивах компилятора GCC.
Должен ли я использовать их внутри cdef, чтобы полностью соответствовать объявлению?
Когда я вызываю xsb_init_string()
как:
xsb_init_string('some string')
Интерпретатор python дает мне:
'ImportError: ./py_ext.so: undefined symbol: xsb_init_string'
Правильно ли я объявляю подпись xsb_init_string()
внутри cdef