Hallo Leute ich hätte an euch die Frage ob einer weiss wie man mittels
Boost eine Python Extension schreibt und diese auch anschliessend in Python benutzen kann. Das alles soll unter Linux mittels dem GCC laufen
Also ich habe folgendes einfache Beispiel in C++
C/C++ Code:
void PrintMsg(char * msg)
{
printf("PYTHON: %s\n",msg);
}
BOOST_PYTHON_MODULE(Pointless)
{
def("PrintMsg",PrintMsg);
}
und kompelliere wie folgt
Code:
CMD = -shared
all: main.so
main.o: main.cpp
g++ -c main.cpp -I/usr/include/python2.6/
main.so: main.o
g++ -o main.so main.o -lpython2.6 $(CMD)
Code:
CMD = -shared
und mein kleines PYTHON SCRIPT SIEHT WIE FOLGT AUS
C/C++ Code:
import ctypes
ctypes.CDLL("~/pythonBoost/main.so")
C/C++ Code:
import ctypes
ctypes.CDLL("~/pythonBoost/main.so")
C/C++ Code:
import ctypes
ctypes.CDLL("~/pythonBoost/main.so")
leder führt allein diese Anweisung dazu das er ein Symbol nicht kennt
Python als eigebette Scriptsprache funktionier soweit.
Vielleicht mache ich irgendetwas total falsch
Kann jemand helfen
Mit freundlichen Grüßen
cefour
Python boost g++
@cefour: Was hat denn `ctypes` da zu suchen!? Mit Boost::python sollte eine Bibliothek entstehen, die man *direkt* in Python importieren kann.
Wenn die Dokumentation von Boost an der Stelle nicht ausreichend sein sollte, such Dir doch einfach mal ein kleines Projekt, bei dem Du Dir anschauen kannst, wie es da gemacht wird.
Die Art wie Du Dein Vorgehen hier präsentierst, ist übrigens etwas verwirrend. Ich weiss jedenfalls nicht so genau was Du da gemacht hast.
Wenn die Dokumentation von Boost an der Stelle nicht ausreichend sein sollte, such Dir doch einfach mal ein kleines Projekt, bei dem Du Dir anschauen kannst, wie es da gemacht wird.
Die Art wie Du Dein Vorgehen hier präsentierst, ist übrigens etwas verwirrend. Ich weiss jedenfalls nicht so genau was Du da gemacht hast.