Я новичок в Cython, так что извините, если я упускаю что-то очевидное здесь.Я пытаюсь построить расширения c, которые будут использоваться в Python для повышения производительности.У меня есть модуль fc.py с кучей функций и пытается создать .dll через cython с использованием dsutils и работает на win64:
c:\python26\python c:\cythontest\setup.py build_ext --inplace
У меня есть dsutils.cfg в C: \ Python26 \ Lib \ Distutils.При необходимости disutils.cfg имеет следующие параметры конфигурации:
[build]
compiler = mingw32
Мой файл startup.py выглядит следующим образом:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [Extension('fc', [r'C:\cythonTest\fc.pyx'])]
setup(
name = 'FC Extensions',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
Вот как выглядят выходные данные командной строки:
C:\python26\python C:\cythontest\setup.py build_ext --inplace
running build_ext
cythoning C:\cythonTest\fc.pyx to C:\cythonTest\fc.c
building 'FC' extension
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -Ic:\python26\include -Ic:\pytho
n26\PC -c C:\cythonTest\fc.c -o c:\cythontest\fc.o
У меня последняя версия mingw для целевых / хостовых сборок типа amdwin64.У меня есть последняя версия Cython для Python26 для Win64.Cython действительно дает мне fc.c без ошибок, только несколько предупреждений для преобразований типов, которые я обработаю, как только у меня получится.Далее он выдает fc.def и файлы fc.o вместо того, чтобы давать .dll.Я не получаю ошибок.Я обнаружил в потоках, что он будет автоматически создавать файлы .so или .dll, что не происходит.