- ベストアンサー
FFTWでコンパイルができません。
FFTWでコンパイルができません。 http://www32.atwiki.jp/amaeda/pages/12.html ↑のソースファイルをコンパイルすると以下のエラーが出ます。↓ >gcc -o fftw1D fftw1D.c -lfftw3 -lm (MinGW) c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: cannot find -lfftw3 collect2: ld returned 1 exit status FFTWはわからないので、教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今実行環境無いので、参考意見として聞いてください。 gccで-lfftw3としたときに使うライブラリは libfftw3.a と言うファイル名になります。~.libは使いません。 もしかしたら、 gcc -o fftw1D fftw1D.c fftw3.lib -lm としたらできるかもしれませんし、できないかもしれません。コンパイルはできても動かないかもしれません。 fftwのソースを入手して、MinGWでビルド→インストールしたあとで その例の -lfftw3を指定してのコンパイル、というのが一番問題が無いと思います。 http://www.fftw.org/fftw3_doc/Installation-on-Unix.html#Installation-on-Unix または、Visual Studioを持っているなら、その「追加インクルードパス」「追加ライブラリ」等を適切に設定して、そちらでコンパイルするか、です。
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
エラーメッセージは「-lfftw3が見つからない = libfttw3.a ライブラリが見付からない」と言っています。 FFTWそのものがビルド/インストールされていないように見えます。 あるいは、MingGW使用ということなので、Visual C++用にビルド/インストールしたけど、MinGW用にはやっていない、か。
補足
FFTWのビルド/インストールは、やりましたが、自信がありません。 それと、私の環境には、MinGWとVisual studio 2008がインストールされています。 .libのビルドがうまくいかなかったので、ビルドせず、.libは、ダウンロードしました。(はじめからビルドしてあるものを)
お礼
Visual Studioでやってみます。 ありがとうございました。