Visual Studio 2010中的“错误LNK2019:未解析的外部符号”错误

我正在尝试编译并运行一个使用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的新手,我真的需要帮助!

我遇到了同样的问题。 我解决了它如下。

1)确保您正在下载32位libsndfile(libsndfile-1.0.25-w32-setup.exe)包,因为Visual Studio编译器是32位。

2)通过单击libsndfile的setup.exe(libsndfile-1.0.25-w32-setup.exe)文件来安装库。

3)创建项目后,执行以下两个步骤:

i)转到Debug >> Project Properties >> Configuration Properties >> C / C ++ >> General >> Additional Include Directories >>点击右侧的箭头然后点击编辑>>这里,添加路径libsndfile目录中的include文件夹。

ii)在步骤(i)完成后,单击配置属性中的链接器>>常规>>附加库目录>>单击右侧的箭头,然后单击编辑>>此处,添加路径。 lib文件。 您可能必须输入整个路径,因为浏览选项不显示.lib文件。 因此,在我的情况下,我键入C:\ Program Files(x86)\ Mega-Nerd \ libsndfile \ lib \ libsndfile-1.lib。

最后,你完成了! 您的代码应该现在编译和工作,而不会抛出任何错误。

缺少指定库的文件夹目录(添加到附加依赖项的.lib)VC ++目录视图
单击Library Directories,单击右侧的下拉按钮并选择
并指定它应该工作的目录。

我有一个类似的问题,问题是混合x64 lib和win32项目。