Создание автономного приложения с помощью Cython + MinGW

Я пытаюсь построить автономное приложение из кода Python. На данный момент это всего лишь программа "Привет, мир". Я компилирую его с помощью Cython, чтобы получить файл .c:

"c: \ python34 \ scripts \ cython.exe" - embed hello.py

Это отлично работает. Затем я пытаюсь скомпилировать и связать сгенерированный файл .c следующим образом:

"c: \ mingw32 \ bin \ gcc.exe" -I "c: \ python34 \ include" -L "c: \ python34 \ libs" -lpython34 -ohello.exe hello.c

Это дает мне много ошибок ссылок:

... \ cc7PmSei.o: hello.c :(. text + 0xe9): неопределенная ссылка на `_imp__PyTuple_New '

... \ cc7PmSei.o: hello.c :(. text + 0x130): неопределенная ссылка на `_imp__PyBytes_FromStringAndSize '

... \ cc7PmSei.o: hello.c :(. text + 0x177): неопределенная ссылка на `_imp__PyModule_Create2 '

...

... \ cc7PmSei.o: hello.c :(. text + 0x12b7): неопределенная ссылка на `_imp__PyUnicode_Decode '

... \ cc7PmSei.o: hello.c :(. text + 0x12dd): неопределенная ссылка на `_imp__PyUnicode_FromStringAndSize '

... \ cc7PmSei.o: hello.c :(. text + 0x1303): неопределенная ссылка на `_imp__PyBytes_FromStringAndSize '

... / libmingw32.a (main.o): main.c: .text.startup + 0xa7): неопределенная ссылка на `WinMain @ 16 '

collect2.exe: ошибка: ld вернул 1 состояние выхода

Немного больше информации: у меня Windows 7 Home 64-bit OS. Я использую 32-битный Python 3.4.1, 32-битный Cython-0.20.1 и TDM-GCC 4.7.1.

Я провел небольшое исследование. Некоторые люди говорят, что это может быть вызвано, например, использованием 32-битного компилятора C и 64-битного Python. Но это не тот случай, здесь. Другой (http://eli.thegreenplace.net/2008/06/28/compiling-python-extensions-with-distutils-and-mingw/) говорят, что мне нужно создать libpython34.a. Но моя версия Python уже шла с этим файлом.

У кого-нибудь есть идеи, что я делаю не так? Заранее спасибо.

Ответы на вопрос(3)

Ваш ответ на вопрос