Я пытаюсь выполнить кросс-компиляцию программного обеспечения на компьютере Linux, ориентированном на систему Windows, с использованием Mingw.
По факту компиляции программного обеспечения создается расширение Python, и здесь возникают проблемы:
Когда я запускаю команду, начинающую выполнение создания расширения:
python setup.py build_ext --compiler=mingw32
Это приводит к выполнению следующей команды:
gcc -mdll -O -Wall <options and paths>
cc: unrecognized option `-mdll'
В основном это происходит из-заДело в том, что mdll является опцией, поддерживаемой gcc только в версии "windows".Это заставило меня подумать, что проблема в том, что опция --compiler=mingw32
сообщает python, что мы находимся в системе Win.
Однако я попытался запустить ту же самую команду, используя мой компилятор Mingw:
/usr/bin/mingw32-gcc -mdll -O -Wall -DSWIG=1 <options and path>
In file included from /usr/local/python-2.7.13/include/Python.h:58:0,
from mathsat_python_wrap.c:125:
/usr/local/python-2.7.13/include/pyport.h:351:24: fatal error: sys/select.h: No such file or directory
#include <sys/select.h>
^
compilation terminated.
Как видите, проблема в том, что sys / socket.h является заголовком POSIX / SUS.MinGW создан для сборки исполняемых файлов WinAPI.Следовательно, проблема заключается в том, что Python, используемый для сборки этого расширения, является версией для Unix (был скомпилирован и для Linux).
У кого-нибудь есть какие-либо предложения по этому поводу?