2013-06-20 122 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的使用錯誤的編譯器;這些說明是爲Cygwin使用MinGw,但我從未在過程中指定過minigw。我也想知道PyAudio構建文件中是否有需要針對64位進行更改的內容。我對C編譯,Cygwin或MinGW一無所知,而且對編程有一些新的認識。有任何想法嗎?我可以提供的任何其他信息?

回答

10

當前的Cygwin gcc的版本不支持-mno-cygwin了,因爲它從來沒有真正工作正常。相反,您應該使用mingw64-i686-gcc軟件包提供的正確交叉編譯器,然後運行./configure --host=i686-w64-mingw32

+0

另一種選擇,而不是從Cygwin環境交叉編譯是使用原生Windows MinGW的安裝(TDM或nuwen發行版都非常容易安裝),並使用MinGW的的MSYS環境處理'/ configure'一步。我認爲Pyaudio的配置步驟可以在MSYS中使用。 –

+0

非常感謝。這個答案解決了我發佈的問題。後來在Cygwin環境中的'python setup.py build --static-link -cmingw32'步驟中遇到了其他問題。錯誤是'cc1.exe:錯誤:無法識別的命令行選項'-mno-cygwin',錯誤:命令'gcc'失敗,退出狀態爲1'。在沒有-cming32的情況下嘗試時,錯誤更改爲「無法找到vcvarsall.bat」。我最終在http://www.lfd.uci.edu/~gohlke/pythonlibs/找到了一個二進制文件,它允許我停止對此進行故障排除。 –

0

在某些情況下它是導致問題的殺毒軟件。 我有avast,不得不禁用它。

相關問題