Py ++ generiert Ihre Syntax, die Sie zusammen mit boost :: python verwenden, um Python-Einstiegspunkte in Ihrer App zu generieren. Angenommen, alles lief gut mit Py ++, müssen Sie das Boost-Framework herunterladen, und fügen Sie das Boost-Include-Verzeichnis und die Boost :: Python-Lib zu Ihrem Projekt dann mit dem Py ++ generierten cpp kompilieren.
Sie können das für Ihr Projekt gewünschte Build-System verwenden, Boost wird jedoch mit bjam erstellt. Sie müssen wählen, ob Sie eine statische Lib oder eine dynamische Boost-Python-Lib wollen, dann folgen Sie den Anweisungen zum Erstellen von Boost here.
Bei Windows müssen Sie die Erweiterung Ihrer integrierten Bibliothek von .dll in.pyd ändern. Und ja, es muss ein Bibliotheksprojekt sein, das funktioniert nicht mit ausführbaren Dateien.
Dann legen Sie die Pyd, wo der Python auf Ihrem Rechner kann es finden und in Python gehen und Import [Your-Library-Name] und hoffentlich wird alles funktionieren.
Ein letzter Hinweis, der Name in generated.cpp in diesem Makro gegeben:
BOOST_PYTHON_MODULE(-name-)
muss die genaue Bezeichnung Ihres Projekts sein, sonst wird Python beschweren.
Ich bin gerade erst vor weniger als einem Monat durchgegangen, also weiß ich von der Verwirrung.
Eine Sache, die ich gemacht habe, um meine Python-Erweiterung sehr einfach zu machen, während ich die Bibliothek und das Testen erstelle, war boost :: python und python selbst in meiner Build-Umgebung zu erstellen. Auf diese Weise landet der Pyd genau dort, wo ich ihn haben will und Benutzer müssen Python nicht installieren, um mit meiner Erweiterung zu laufen. Das ist vielleicht zu viel für das, was du tust.
Edit: Wenn Sie möchten, dass Ihre Erweiterung einfach installiert und auf einer Maschine kompiliert werden, überprüfen Sie Pythons setuptools. Mit ein paar einfachen Zeilen können Sie Python kompilieren und Ihr Paket für Sie installieren. Ein Nachteil ist jedoch, dass es nicht IDE-kompatibel für diejenigen von uns ist, die gerne im Visual Studio entwickeln.
Schon gesehen? Diese Ankündigung vom Autor von Py ++? http://mail.python.org/pipermail/cplusplus-sig/2009-Januar/014198.html – torial
Ich habe, aber es endet immer noch vor der Beantwortung meiner Frage: "Der letzte Schritt - der Code wird generiert." Ich denke, der letzte Schritt sollte den Benutzer mit Code verlassen, der kompiliert und importiert werden kann, nicht nur generiert. – gotgenes