• ベストアンサー

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はわからないので、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.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を持っているなら、その「追加インクルードパス」「追加ライブラリ」等を適切に設定して、そちらでコンパイルするか、です。

staoywa
質問者

お礼

Visual Studioでやってみます。 ありがとうございました。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

エラーメッセージは「-lfftw3が見つからない = libfttw3.a ライブラリが見付からない」と言っています。 FFTWそのものがビルド/インストールされていないように見えます。 あるいは、MingGW使用ということなので、Visual C++用にビルド/インストールしたけど、MinGW用にはやっていない、か。

staoywa
質問者

補足

FFTWのビルド/インストールは、やりましたが、自信がありません。 それと、私の環境には、MinGWとVisual studio 2008がインストールされています。 .libのビルドがうまくいかなかったので、ビルドせず、.libは、ダウンロードしました。(はじめからビルドしてあるものを)

関連するQ&A