SWIG + setup.py: ImportError: dynamisches Modul definiert keine Init-Funktion (init_foo)

9

Ich versuche, eine Funktion foo in test.cpp mit swig zu umbrechen. Ich habe einen Header foo.h , der die Deklaration der Funktion foo enthält. test.cpp ist abhängig von einem externen Header ex.h und einer gemeinsam genutzten Objektdatei libex.so in /usr/lib64

Ich folgte dem Blogpost von hier .

Ich kann das Modul mit python setup.py build_ext --inplace erstellen. Wenn ich jedoch versuche, es zu importieren, erhalte ich den folgenden Fehler und ich bin nicht sicher, was ich vermisse, da die meisten anderen Fragen mit diesem Fehler keine setup.py -Datei verwenden. Unten ist ein Beispiel von dem, was ich derzeit habe.

Der Fehler beim Importieren von _foo:

%Vor%

test.i

%Vor%

test.cpp

%Vor%

test.h

%Vor%

setup.py

%Vor%     
pyCthon 11.03.2016, 19:03
quelle

1 Antwort

3

Es sieht so aus, als ob die Verwendung von foo und _foo inkonsistent ist, da die Umbruchdatei kompiliert und verlinkt generiert wird.

Versuchen Sie, den Modulnamen in test.i von

zu ändern %Vor%

bis

%Vor%

oder Anpassung der Erweiterung Deklaration in Ihrem setup.py von

%Vor%

bis

%Vor%     
Thomas 20.03.2016, 09:38
quelle

Tags und Links