Ошибка создания файла SIP (gnuwin и mingw)

Я скачал модуль Sip для Python 2.7, создал make-файл и попробовал make команда в каталоге с make-файлом, но я получаю эту ошибку:

Makefile:3: recipe for target 'all' failed
mingw32-make[10]: *** [all] Error 2
mingw32-make[10]: Leaving directory 'D:/Users/myLogin/Downloads/python/sip-4.14.5'

Я получаю эту ошибку как с Gnuwin, так и с mingw32. Так что я в растерянности, что делать сейчас. Любая идея?

1 ответ

Решение

Если вы используете python configure.pyсгенерированный Makefileс на самом деле nmake Makefiles. nmake является эквивалентом Microsoft make, Вы можете запустить его, вызвав nmake в командной строке Visual Studio, если она установлена.

Для строительства с mingwВы должны указать, что хотите использовать эту конкретную платформу при создании make-файлов, следующим образом:

python configure.py --platform win32-g++

После этого, ссылаясь make работает отлично.


Несколько подробностей о том, что происходит с вами при запуске make на nmake Makefile. Сгенерированный nmake Файл начинается со следующих строк:

all:
    cd sipgen
    $(MAKE)
    @cd ..
    cd siplib
    $(MAKE)
    @cd ..

Поскольку каждая команда в каждой строке выполняется в новой оболочке, результат cd sipgen на самом деле пустота. Затем, make снова вызывается в текущем каталоге - это приводит к бесконечному рекурсивному циклу make вызовы. [10] в вашем сообщении об ошибке указывается, что это был 10-й уровень рекурсии. Я думаю, это был момент, когда вы нажали Ctrl-C:-)

Другие вопросы по тегам