Während der Lösung dieser und der folgenden Probleme habe ich ein Rezept in diesen Thread geschrieben . Ich reproduziere es hier, falls es für andere von Nutzen sein könnte:
Schritt für Schritt Rezept zum Kompilieren von 64-Bit-Cython-Erweiterungen mit Python 2.6.6 mit Mingw-Compiler in Win 7 64-Bit
Mingw- Compiler installieren 1) Installieren Sie tdm64-gcc-4.5.2.exe für die 64-Bit-Kompilierung
Patch auf python.h anwenden
2) Ändern Sie python.h in C: \ python26 \ include wie unter
http://bugs.python.org/file12411/mingw-w64.patch angegeben
Distutils ändern
Edit 2013: Hinweis als in Python 2.7.6 und 3.3.3 -mno-cygwin wurde endgültig entfernt, damit Schritt 3 übersprungen werden kann .
3) Entfernen Sie alle Parameter -mno-cygwin aus dem Aufruf von gcc in der Mingw32CCompiler-Klasse in Python26 \ Lib \ distutils \ cygwinccompiler.py.
4) Ändern Sie im selben Modul get_msvcr (), um eine leere Liste anstelle von ['msvcr90 zurückzugeben '] wenn msc_ver ==' 1500 '.
Erstellen Sie die Datei libpython26.a (nicht in 64-Bit-Python enthalten).
Bearbeiten 2013: Die folgenden Schritte 5 bis 10 können übersprungen werden, indem libpython26.a von gohlke heruntergeladen und installiert wird .
5) Beziehen Sie gendef.exe von mingw-w64-bin_x86_64-mingw_20101003_sezero.zip (gendef.exe ist in der tmd64-Distribution nicht verfügbar. Eine andere Lösung besteht darin, gendef aus der Quelle zu kompilieren ...)
6) Kopieren Sie python26.dll (befindet sich bei C. \ windows \ system32) in das Benutzerverzeichnis (C: \ Users \ myname)
7) Erstellen Sie die Datei python26.def mit:
gendef.exe C: \ Users \ myname \ python26.dll
8) Verschieben Sie die erstellte Datei python.def (in dem Ordner, in dem gendef ausgeführt wurde) in das Benutzerverzeichnis.
9) Erstellen Sie die Datei libpython.a mit:
dlltool -v --dllname python26.dll --def C: \ Benutzer \ meinname \ python26.def --output-lib C: \ Benutzer \ meinname \ libpython26.a
10) Verschieben Sie die erstellte libpython26.a nach C: \ Python26 \ libs
Erstellen Sie Ihre .pyd-Erweiterung. 11) Erstellen Sie eine Testdatei "hello.pyx" und eine Datei "setup.py", wie im cython-Lernprogramm ( http://docs.cython.org/src/quickstart/build.html ) angegeben.
12) Kompilieren Sie mit
python setup.py build_ext --inplace
Getan!