2

初めて libsndfile (Windows 64 ビット バージョン) を使用しようとしましたが、リンクしようとしているときに問題が発生しました。プログラムをコンパイルしようとすると、次のエラーが発生します。

エラー LNK2019: 未解決の外部シンボル _sf_close が関数 _main で参照されています

これは、プログラムにリンクするためにこれまで行ってきたプロセスです。

プロジェクトのプロパティで、Config に移動しました。Prop.-> VC++ ディレクトリ、およびヘッダー ファイルへのパスをインクルード ディレクトリ タブに追加し、.lib ファイルへのパスをライブラリ ディレクトリ タブに追加しました。

C/C++ -> 一般 -> 追加のインクルード ディレクトリで、ヘッダー ファイルへのパスを追加しました。

Linker->Input->Additional Dependencies で、.lib ファイルへのパスを追加しました。これは、私にとっては C:\Program Files\Mega-Nerd\libsndfile\lib\libsndfile-1.lib です。

#include "sndfile.h" を .cpp ファイルに追加しましたが、何らかの理由で dll の関数にアクセスできないようです。私はリンクについてあまり詳しくありません。私がやったことは、インターネットを精査してつなぎ合わせることができたものに過ぎないので、何が間違っていて何が正しいのかはよくわかりません. どんな助けでも大歓迎です。

4

1 に答える 1

1

おそらく、Visual Studio で 32 ビット プロジェクトをコンパイルし、それを 64 ビット ライブラリにリンクしようとしています。動作しません... libsndfile の Windows バイナリの 32 ビット バージョンをダウンロードし、それを使用して実行可能ファイルにリンクします。別のオプションは 64 ビット プロジェクトを作成することですが、最初のオプションの方が (少し) 簡単だと思います。

于 2012-08-15T13:23:35.850 に答える