2009-09-19 2 views
1

私は西洋で最速フーリエ変換を行い、日食に協力しようとしています。私はウェブサイトからダウンロードしました(それは、fftw-3.2.2と呼ばれる大きなフォルダで、api、dft、cell、doc、kernel、fdftなどの名前の他のフォルダで埋められています)。FFTWをEclipse XPで動作させるにはどうすればいいですか?

プロジェクト>プロパティ> MinGW Cリンカー>ライブラリ>ライブラリ検索パス(-L)に移動し、フォルダfftw-3.2.2を追加しようとしました。私はコードの先頭に#includeまたは#includeを入れようとしています。

私は 'fftw_plan p;'のような行に入れることができます。それと問題はありませんが、「fftw_execute(p);」のようなフーリエ変換関数の1つを使用しようとするたびに、 、それは私に 'fftw_ececuteへの未定義の参照'というメッセージを与えます。プロジェクトはビルドと実行を拒否し、私は立ち往生しています。

私はここや他の場所を見回しましたが、libX.aファイルについては何も教えていませんが、fftw-3.2.2には.a拡張子のファイルは含まれていません。どうすればeclipseをfftwと連携させることができますか?私はeclipse ganymede 3.4.1をWindows xpマシン上でmingwコンパイラで実行しています。

+0

今、私は3つの.dllファイルをライブラリ(-l)セクションに追加しました。 'lib'と '.dll'パートは、fftw3-3、fftw3f-3、およびfftw3l- 3、それらのフォルダがライブラリ検索パス(-L)に追加されます。私の##が見つかりませんでした。 "未解決のインクルード"と言っています。ビルドしようとすると、fftw3.hのようなファイルやディレクトリはありません。私は間違って何をしていますか? –

+0

将来的には、あなたの質問ではなく、自分の答えに返信したいと考えています。 質問に答えるには、インクルードパス(-I、IIRC)にヘッダーのあるパスを含める方法を調べる必要があると思います。 – notJim

答えて

0

binaries linked hereをダウンロードしましたか?

コンパイルしたと仮定すると、提供されているライブラリにリンクする必要があります。これらはおそらく.dllの拡張子を持ち、libまたはbinディレクトリなどにあります。ダウンロードするファイルに、使用方法を示すreadmeがあるかどうかを確認したい場合があります。

ライブラリとリンクするには、まずそのパスをリンカーパスとして指定する必要があります。これはすでに行ったように聞こえますが、使用している特定のライブラリをリンクリストに追加する必要がありますライブラリ。 Here is a screenshotは、これがどのように行われるかを示すthis pageから取られています。基本的には、プロジェクトのプロパティに移動し、 "C/C++ビルド"セクションを見つけて、 "ツール設定"タブで拡張子を付けずにライブラリファイルの名前を追加します。コンパイラは、ライブラリ検索パスでそれらのライブラリを検索します(再帰的ではありません)。

関連する問題