2013-06-20 17 views
6

私はWindowsを使用しているのでPyaudio(Pythonモジュール)をソースからコンパイルしようとしていますが、32ビットのバイナリしか利用できません - 私は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環境からクロスコンパイルする代わりに、MinGWネイティブインストール(TDMまたはnuwenディストリビューションはインストールが非常に簡単です)を使用し、MinGWのMSYS環境を使用して '。/ configure'ステップを処理します。私はPyaudioの設定ステップがMSYSで動作すると仮定します。 –

+0

ありがとうございました。この回答は私が投稿した問題を解決しました。私はCygwin環境の中で、後で 'python setup.py build --static-link -cmingw32'のステップで他の問題に遭遇しました。エラーは 'cc1.exe:error:認識できないコマンドラインオプション' -mno-cygwin 'です。エラー:コマンド' gcc 'が終了ステータス1で失敗しました。 -cming32を指定せずに試してみると、エラーが 'Unable to find vcvarsall.bat'に変更されました。私はhttp://www.lfd.uci.edu/~gohlke/pythonlibs/でバイナリを見つけることができました。これにより、私はこれをトラブルシューティングするのを止めることができました。 –

0

場合によっては、問題を引き起こしているウイルス対策ソフトウェアです。 私はavastを持っていて、それを無効にしなければなりませんでした。

関連する問題