1

私は、日食と協力するために、西部で最速のフーリエ変換を取得しようとしています。私はそれをウェブサイトからダウンロードしました(これはfftw-3.2.2という大きなフォルダーで、api、dft、cell、doc、kernel、fdftなどの名前が付いた他のフォルダーでいっぱいです。それぞれに.hファイルと.cファイルがあります)。

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

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

私はここや他の場所を見回しましたが、すべてがlibX.aファイルについて教えてくれますが、fftw-3.2.2には拡張子が.aのファイルが含まれていません。どうすればeclipseをfftwで動作させることができますか?mingwコンパイラを使用してWindowsXPマシンでEclipseganymede3.4.1を実行しています。

4

1 に答える 1

0

ここにリンクされているバイナリをダウンロードしましたか?

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

ライブラリに対してリンクするには、まずそのパスをリンカー パスとして指定する必要があります。これは既に行っているように思えます。次に、使用している特定のライブラリをリンク ライブラリのリストに追加する必要があります。これがどのように行われるかを示すこのページのスクリーンショットです。基本的に、プロジェクトのプロパティに移動し、[C/C++ ビルド] セクションを見つけて、[ツール設定] タブで、拡張子なしでライブラリ ファイルの名前を追加します。コンパイラは、これらのライブラリのライブラリ検索パスを (再帰的にではなく) 検索します。

于 2009-09-19T19:40:59.257 に答える