Seite 1 von 1

Fragen zu Embedding Python + C++

Verfasst: Montag 31. März 2008, 09:12
von NoRulez
Hey @all,

da mir Python sehr sympathisch ist und ich es auch gerne verwende, ich dennoch ein leidenschaftlicher C++ Programmierer bin, wollte ich mal beides Vereinigen. Ich habe schon gesehen, das zum Beispiel BattleField Python als scripting language benutzt. Es liegen bei dem Spiel die Python sources bei, die im Programm dann aufgerufen werden.

Nun wollte ich so etwas ähnliches probieren. Ich würde gerne in meine C++ Programme Python als embedded scripting benutzen. Dazu habe ich 1. mal die Frage, wenn ich das kompilat von C++ weitergebe sollte es doch reichen die python.dll mitzugeben. Dennoch scheint es nicht zu funktionieren. Es scheint als wenn ich dennoch auf dem anderen Rechner Python installieren müsste. Weiß einer wieso?

Weiters wäre ich für jede Hilfe zum Thema C++ und Embedding sehr dankbar, da auf der "Original"-Seite nicht wirklich viel darüber berichtet wird (http://docs.python.org/ext/embedding.html).

Lg NoRulez

Verfasst: Montag 31. März 2008, 10:28
von BlackJack
Was heisst "scheint nicht zu funktionieren"? Was passiert denn? Und natürlich müssen neben der DLL auch mindestens noch alle Module für Python erreichbar sein, die verwendet werden.

Das Kapitel "embedding" in der Python-Dokumentation enthält keine Information die schon in "extending" steckt, man sollte also dieses vorher gelesen bzw. überflogen haben. Speziell für C++ steht da so wenig, weil man von C++ aus einfach die C-API verwendet.

Ansonsten könntest Du Dir auch mal Boost::Python anschauen, dann sparst Du Dir wahrscheinlich viel "Handarbeit" beim Verbinden von C++ und Python.