Ich habe Probleme mit dem Ausführen eines nackten Beispiels.Cython - richtig C-Spaß zu erklären
ich dies mit einer Funktion in Cython von cinterf.h
Kopf kommt zu erklären:
cdef extern from 'cinterf.h':
int xsb_init_string(char* p_xsb_path)
Die Deklaration in der Datei C-Header ist:
DllExport extern int call_conv xsb_init_string(char *);
beiden Dllexport und call_conv sind Makros definiert woanders, und zu GCC-Compiler-Direktiven auflösen.
Muss ich diese auch innerhalb von cdef verwenden, um die Deklaration vollständig anzupassen?
Wenn ich rufe xsb_init_string()
als:
xsb_init_string('some string')
Der Python-Interpreter gibt mir:
'ImportError: ./py_ext.so: undefined symbol: xsb_init_string'
Bin erklärte ich die xsb_init_string()
Unterschrift richtig, innerhalb cdef?
Ich hatte das Gefühl, dass es das sein könnte. Ich versuche es mal. danke – deepblue
ya, das ist es. vielen Dank – deepblue