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++->General->Additional Include Directories-> ..\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 回答