2013-06-20 2 views
6

Я пытаюсь скомпилировать Pyaudio, (модуль Python) из источника, так как я использую Windows, и доступны только 32-битные двоичные файлы. Мне нужно 64. После these instructions Я загрузил Cygwin и установил каждый компонент, чтобы быть в безопасности. Сначала необходимо установить Portaudio, другой модуль.C компилятор не может создавать исполняемые файлы - Cygwin/MiniGW

Когда я бегу CFLAGS="-mno-cygwin" LDFLAGS="-mno-cygwin" ./configure, я получаю ошибку configure: error: C compiler cannot create executables. See 'config.log' for more details. config.log имеет дополнительную строку ниже этого сообщения: gcc: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler.

Это приводит меня к мысли, что, возможно, Cygwin использует неправильный компилятор; инструкции предназначены для использования MinGw с Cygwin, но я никогда не указывал minigw в этом процессе. Я также задаюсь вопросом, есть ли что-то в файлах сборки PyAudio, которые нужно изменить для 64-битного. Я ничего не знаю о C, компиляции, Cygwin или MinGW и новичок в программировании в целом. Есть идеи? Любая другая информация, которую я могу предоставить?

ответ

10

Текущие версии Cygwin gcc больше не поддерживают -mno-cygwin, потому что он действительно не работает правильно. Вместо этого вы должны использовать правильный кросс-компилятор, который предоставляется пакетами mingw64-i686-gcc, а затем запустить ./configure --host=i686-w64-mingw32.

+0

Другим вариантом вместо перекрестного компиляции из среды Cygwin является использование встроенной установки MinGW для Windows (TDM или nuwen-дистрибутивы очень просты в установке) и использовать среду MSYS MinGW для обработки шага './Configure'. Я предполагаю, что шаг настройки Pyaudio будет работать в MSYS. –

+0

Большое спасибо. Этот ответ решил проблему, которую я опубликовал. Я столкнулся с другими проблемами позже на этапе «python setup.py build --static-link -cmingw32» из среды Cygwin. Ошибка была «cc1.exe: ошибка: непризнанная опция командной строки» -mno-cygwin, ошибка: команда «gcc» не была выполнена с статусом выхода 1 ». При попытке без -cming32 ошибка изменилась на «Не удалось найти vcvarsall.bat». Я закончил поиск двоичного файла по адресу http://www.lfd.uci.edu/~gohlke/pythonlibs/, что позволило мне остановить устранение неполадок. –

0

В некоторых случаях это антивирус, который вызывает проблемы. У меня был avast и пришлось отключить его.

 Смежные вопросы

  • Нет связанных вопросов^_^