py2exe mingw compile - PullRequest
       11

py2exe mingw compile

2 голосов
/ 17 ноября 2011

Итак, я хотел бы скомпилировать py2exe, используя mingw, и я получил ошибку. Кто-нибудь знает, как это исправить?

D:\devel\py2exe-0.6.9>python setup.py build -cmingw32
running build
running build_py
creating build
creating build\lib.win32-2.7
copying zipextimporter.py -> build\lib.win32-2.7
creating build\lib.win32-2.7\py2exe
copying py2exe\boot_common.py -> build\lib.win32-2.7\py2exe
copying py2exe\boot_com_servers.py -> build\lib.win32-2.7\py2exe
copying py2exe\boot_ctypes_com_server.py -> build\lib.win32-2.7\py2exe
copying py2exe\boot_service.py -> build\lib.win32-2.7\py2exe
copying py2exe\build_exe.py -> build\lib.win32-2.7\py2exe
copying py2exe\mf.py -> build\lib.win32-2.7\py2exe
copying py2exe\__init__.py -> build\lib.win32-2.7\py2exe
creating build\lib.win32-2.7\py2exe\resources
copying py2exe\resources\StringTables.py -> build\lib.win32-2.7\py2exe\resources
copying py2exe\resources\VersionInfo.py -> build\lib.win32-2.7\py2exe\resources
copying py2exe\resources\__init__.py -> build\lib.win32-2.7\py2exe\resources
running build_ext
building '_memimporter' extension
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
creating build\temp.win32-2.7\Release\source
C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DPYTHONDLL=\"PYTHON27.DLL\" -DPYTHONCOM=\"pythoncom27.dll\" -IC:\Python27\include -IC:\Python27\PC -c source/MemoryModule.c -o build\temp.win32-2.7\Release\source\memorymodule.o
cc1.exe: error: unrecognized command line option '-mno-cygwin'
error: command 'gcc' failed with exit status 1

Как удалить -mno-cygwin из параметров сборки?

1 Ответ

1 голос
/ 17 ноября 2011

Это известная проблема из-за отсутствия поддержки со стороны разработчиков Python для разработки MinGW GCC:

http://bugs.python.org/issue12641

С 2010 года GCC удалил эту опцию из-за путаницы людей, которыеиспользовал переключатель.В отчете об ошибке содержится исправление одного из файлов конфигурации Python distutils, которые вы можете применить, не перестраивая Python или что-либо еще.


ОБНОВЛЕНИЕ: ошибка ясна, код, который вы компилируете, переопределяет тип, которыйопределено в заголовке Python:

source/Python-version.h:13:18: error: redefinition of typedef 'Py_ssize_t'
C:\Python27\include/pyport.h:172:25: note: previous declaration of 'Py_ssize_t'

Удалите typedef из Py_ssize_t в вашем коде.Возможно, что-то не так с конфигурацией.Обязательно выполните чистую перестройку после устранения проблемы -mno-cygwin.

...