Ich stelle diese Frage, weil ich ein bestimmtes Modul (aspell_python, http://wm.ite.pl/proj/aspell-python/) erstellen muss, um mit meinem 64-Bit-Python 2.6 zu arbeiten, das auf einem Windows 7 (64-Bit von Natürlich) Maschine. Ich wollte auch immer wissen, wie man bestimmte Funktionen mit C-Code beschleunigt, damit ich in Zukunft eigene externe C-Module für Python entwickeln kann.Erstellen von 64-Bit-C-Python-Erweiterungen unter Windows
Kann mir bitte jemand die Schritte sagen, die erforderlich sind, um eine 64-Bit-Python-Erweiterung in C erfolgreich zu erstellen? Ich kenne Python, ich kenne C, aber ich weiß nichts über Visual Studio oder Windows spezifische Entwicklerangelegenheiten. Ich habe versucht, dem offiziellen Leitfaden auf der Python-Website (http://docs.python.org/extending/windows.html#building-on-windows) zu folgen, indem ich Visual Studio 2008 (das einzige kommerzielle Produkt, das hier verfügbar ist) benutze Selbst das grundlegendste Beispiel würde nicht bauen.
Hinzufügen * wie * selbst das grundlegendste Beispiel fehlschlägt. –
Zum Beispiel: nach dem Befolgen jeder Richtung, wenn ich versuche, example_nt zu bauen, bekomme ich den Linker-Fehler, dass es python26.lib nicht finden kann. Ich versuchte dann, die python26.lib zu verwenden, die mit meiner Version von Python verteilt wird, aber das führte nur zu zwei Linker-Fehlern: 1> example.obj: Fehler LNK2019: nicht aufgelöstes externes Symbol __imp___Py_NoneStruct referenziert in Funktion _ex_foo 1> example.obj: error LNK2019: ungelöstes externes Symbol __imp__Py_InitModule4 referenziert in Funktion _initexample – Alexandros
Danach habe ich versucht, python26.lib selbst zu erstellen, indem ich das gesamte Python 2.6 Projekt von der Quelle mit VS2008 erstellte, was natürlich zu einer Reihe von Fehlern führte. Es erzeugte jedoch eine python26_d.lib, die immer noch einen Linkerfehler verursachte, wenn sie mit example_nt kompiliert wurde. – Alexandros