1

libsndfile ライブラリを利用する Win 7 で Visual Studio VC++ アプリ プロジェクトを作成しています。

ライブラリ (libsndfile-1.dll、libsndfile-1.dll) は次の場所にあります。

C:\SVN\US\AdditionalIncludeDir\libsndfile

およびそのヘッダー (sndfile.hh、sndfile.h)

C:\SVN\US\AdditionalIncludeDir\Include

Visual Studio プロジェクトは次の場所にあります。

C:\SVN\US\Simulation\audioSim.vcxproj

ライブラリ ヘッダー参照を次のように追加しました。

プロジェクト プロパティ -> C/C++ -> 一般 -> 追加のインクルード ディレクトリ -> ..\AdditionalIncludeDir\Include
および静的ライブラリ参照

プロジェクトのプロパティ->リンカー>追加の依存関係: libsndfile-1.lib プロジェクトのプロパティ->リンカー>追加のライブラリ ディレクトリ: ..\AdditionalIncludeDir\libsndfile

私も追加しました

..\AdditionalIncludeDir\libsndfile

Win 7 のユーザー環境変数のパスへ

トップレベルの C++ ファイルは、ライブラリを次のように使用します。

SndfileHandle mic1(".\\filedata\\mic1.wav");

mic1.wav の場所

C:\SVN\US\Simulation\filedata

プロジェクトをビルドしてもエラーが発生します:

error LNK2019: unresolved external symbol _sf_open referenced in
 function "public: __thiscall SndfileHandle::SndfileHandle(char const
 *,int,int,int,int)" (??0SndfileHandle@@QAE@PBDHHHH@Z)

なぜこれが起こるのでしょうか?

ありがとう
_

4

1 に答える 1

1

私もこの問題を抱えていました。「追加のインクルード ディレクトリ」(C:\Program Files (x86)\Mega-Nerd\libsndfile\include) と「追加のライブラリ ディレクトリ」(C:\Program Files %28x86%29\Mega-Nerd\libsndfile\lib) を設定しました。 ) プロジェクト設定で。

これで問題が解決しました。 プロジェクト プロパティ -> 構成プロパティ -> リンカー -> [追加の依存関係] フィールドに lib ファイル名libsndfile-1.libを入力して入力します。

于 2016-03-24T01:17:39.487 に答える