Durante el proceso de resolución de estos y los siguientes problemas que encontré, escribí una receta en este hilo . Lo reproduzco aquí por si pudiera ser de utilidad para otros:
Receta paso a paso para compilar extensiones cython de 64 bits con python 2.6.6 con el compilador mingw en win 7 de 64 bits
Instale el compilador mingw
1) Instale tdm64-gcc-4.5.2.exe para la compilación de 64 bits
Aplicar el parche a python.h
2) Modificar python.h en C: \ python26 \ include como se indica en
http://bugs.python.org/file12411/mingw-w64.patch
Modificar distutils
Edit 2013: tenga en cuenta que en python 2.7.6 y 3.3.3 -mno-cygwin finalmente se ha eliminado, por lo que se puede omitir el paso 3 .
3) Elimine todos los parámetros -mno-cygwin de la llamada a gcc en la clase Mingw32CCompiler en Python26 \ Lib \ distutils \ cygwinccompiler.py
4) En el mismo módulo, modifique get_msvcr () para devolver una lista vacía en lugar de ['msvcr90 '] cuando msc_ver ==' 1500 '.
Produzca el archivo libpython26.a (no incluido en Python de 64 bits)
Edición 2013: los siguientes pasos 5-10 se pueden omitir descargando e instalando libpython26.a desde gohlke .
5) Obtenga gendef.exe de mingw-w64-bin_x86_64- mingw_20101003_sezero.zip (gendef.exe no está disponible en la distribución tmd64. Otra solución es compilar gendef desde la fuente ...)
6) Copie python26.dll (ubicado en C \ windows \ system32) al directorio de usuarios (C: \ Users \ myname)
7) Produzca el archivo python26.def con:
gendef.exe C: \ Users \ myname \ python26.dll
8) Mueva el archivo python.def producido (ubicado en la carpeta desde donde se ejecutó gendef) al directorio de usuario
9) Produzca libpython.a con:
dlltool -v --dllname python26.dll --def C: \ Users \ myname \ python26.def --output-lib C: \ Users \ myname \ libpython26.a
10) Mueva el libpython26.a creado a C: \ Python26 \ libs
Produzca su extensión .pyd
11) Cree un archivo hello.pyx de prueba y un archivo setup.py como se indica en el tutorial de cython ( http://docs.cython.org/src/quickstart/build.html )
12) Compile con
python setup.py build_ext --inplace
¡Hecho!