В процессе решения этих и следующих проблем я нашел рецепт в этой теме . Я воспроизвожу это здесь на случай, если это может быть полезно для других:
Пошаговый рецепт для компиляции 64-битных расширений Cython с помощью Python.
2.6.6 с компилятором mingw в win 7 64-bit
Установить компилятор mingw
1) Установите tdm64-gcc-4.5.2.exe для 64-битной компиляции
Применить исправление к python.h
2) Измените python.h в C: \ python26 \ include, как указано в
http://bugs.python.org/file12411/mingw-w64.patch
Изменить distutils
Edit 2013: обратите внимание, что в python 2.7.6 и 3.3.3 -mno-cygwin окончательно удален, поэтому шаг 3 можно пропустить .
3) Устранить все параметры -mno-cygwin для вызова gcc в
Класс Mingw32CCompiler в Python26 \ Lib \ distutils \ cygwinccompiler.py
4) В том же модуле измените get_msvcr (), чтобы получить пустой список
вместо ['msvcr90'], когда msc_ver == '1500'.
Создание файла libpython26.a (не входит в состав 64-битного Python)
Редактировать 2013: следующие шаги 5-10 можно пропустить, загрузив и установив libpython26.a из gohlke .
5) Получить gendef.exe из mingw-w64-bin_x86_64-
mingw_20101003_sezero.zip
(gendef.exe недоступен в дистрибутиве tmd64. Другой
решение состоит в том, чтобы скомпилировать gendef из исходного кода ...)
6) Скопируйте python26.dll (находится в C \ windows \ system32) для пользователя
каталог (C: \ Users \ myname)
7) Создайте файл python26.def с:
gendef.exe C: \ Users \ myname \ python26.dll
8) Переместить созданный файл python.def (находится в папке, откуда
Gendef был выполнен) в каталог пользователя
9) Создайте libpython.a с помощью:
dlltool -v --dllname python26.dll --def C: \ Users \ myname
\ python26.def --output-lib C: \ Users \ myname \ libpython26.a
10) Переместите созданный libpython26.a в C: \ Python26 \ libs
Создайте расширение .pyd
11) Создайте тестовый файл hello.pyx и файл setup.py, как указано в
Учебник по Cython (http://docs.cython.org/src/quickstart/build.html)
12) Компилировать с
python setup.py build_ext --inplace
Готово!