3

libsndfileサウンド ファイルの処理にライブラリを使用している C コードをコンパイルして実行しようとしています。

このパスを使用してヘッダー ファイルを追加しました。 project's Properties (in C/C++ -> General -> Additional Include Directories)

また、このパスを使用してライブラリをリンクしました: Project Properties -> Linker -> Input -> Additional Dependencies.

しかし、デバッグ中に次のエラーが発生します。

1>sil.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification 1>sil.obj : error LNK2019: unresolved external symbol _sf_write_sync referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_write_double referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_close referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_read_double referenced in function _main 1>sil.obj : error LNK2019: unresolved external symbol _sf_open referenced in function _main 1>c:\users\anam\documents\visual studio 2010\Projects\silence\Debug\silence.exe : fatal error LNK1120: 5 unresolved externals

誰かがここで問題を特定できますか? 私は Visual Studio を初めて使用するので、本当に助けが必要です!

4

3 に答える 3

4

私は同じ問題に直面しました。私は次のようにそれを解決しました。

1) Visual Studio コンパイラは 32 ビットであるため、32 ビットの libsndfile(libsndfile-1.0.25-w32-setup.exe) パッケージをダウンロードしていることを確認してください。

2)libsndfileのsetup.exe(libsndfile-1.0.25-w32-setup.exe)をクリックしてライブラリをインストールします。

3) プロジェクトを作成したら、次の 2 つの手順を実行します。

i) [デバッグ] >> [プロジェクト プロパティ] >> [構成プロパティ] >> [C/C++] >> [一般] >> [追加のインクルード ディレクトリ] >> 右側の矢印をクリックし、[編集] をクリックします >> ここで、次のパスを追加しますlibsndfile ディレクトリの include フォルダ。

ii) 手順 (i) が完了したら、[構成プロパティ] の [リンカー] >> [全般] >> [追加のライブラリ ディレクトリ] >> 右側の矢印をクリックし、[編集] をクリックします >> ここで、. lib ファイル。参照オプションでは .lib ファイルが表示されないため、パス全体を入力する必要がある場合があります。したがって、私の場合は、C:\Program Files (x86)\Mega-Nerd\libsndfile\lib\libsndfile-1.lib と入力しました。

最後に、あなたは完了です!コードはコンパイルされ、エラーをスローすることなく動作するはずです。

于 2014-06-26T21:22:47.927 に答える
0

ライブラリのフォルダー ディレクトリの指定がありません (追加の依存関係に .lib が追加されています) VC++ ディレクトリ ビュー
[ライブラリ ディレクトリ] をクリックし、右側のドロップダウン ボタンをクリックして、
動作するディレクトリを選択して指定します。

于 2016-03-19T01:35:12.157 に答える