Durante o processo de resolução desses e dos seguintes problemas que encontrei, escrevi uma receita neste tópico . Eu reproduzo aqui caso possa ser útil para outros:
Receita passo a passo para compilar extensões cython de 64 bits com python 2.6.6 com compilador mingw no win 7 de 64 bits
Instale o compilador mingw
1) Instale tdm64-gcc-4.5.2.exe para compilação de 64 bits
Aplique o patch a python.h
2) Modifique python.h em C: \ python26 \ include conforme indicado em
http://bugs.python.org/file12411/mingw-w64.patch
Modificar distutils
Editar 2013: Observe que em python 2.7.6 e 3.3.3 -mno-cygwin foi finalmente removido, então a etapa 3 pode ser ignorada .
3) Elimine todos os parâmetros -mno-cygwin da chamada para gcc na classe Mingw32CCompiler em Python26 \ Lib \ distutils \ cygwinccompiler.py
4) No mesmo módulo, modifique get_msvcr () para retornar uma lista vazia em vez de ['msvcr90 '] quando msc_ver ==' 1500 '.
Produza o arquivo libpython26.a (não incluído no python de 64 bits)
Editar 2013: as seguintes etapas 5 a 10 podem ser ignoradas baixando e instalando libpython26.a de gohlke .
5) Obtenha gendef.exe de mingw-w64-bin_x86_64- mingw_20101003_sezero.zip (gendef.exe não está disponível na distribuição tmd64. Outra solução é compilar gendef da fonte ...)
6) Copiar python26.dll (localizado em C \ windows \ system32) para o diretório do usuário (C: \ Users \ myname)
7) Produza o arquivo python26.def com:
gendef.exe C: \ Users \ myname \ python26.dll
8) Mova o arquivo python.def produzido (localizado na pasta de onde gendef foi executado) para o diretório do usuário
9) Produza o libpython.a com:
dlltool -v --dllname python26.dll --def C: \ Users \ myname \ python26.def --output-lib C: \ Users \ myname \ libpython26.a
10) Mova o libpython26.a criado para C: \ Python26 \ libs
Produza sua extensão .pyd
11) Crie um arquivo de teste hello.pyx e um arquivo setup.py conforme indicado no tutorial cython ( http://docs.cython.org/src/quickstart/build.html )
12) Compile com
python setup.py build_ext --inplace
Feito!