我正在尝试编译和运行使用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' specification1>sil.obj : error LNK2019: unresolved external symbol _sf_write_sync referenced in function _main1>sil.obj : error LNK2019: unresolved external symbol _sf_write_double referenced in function _main1>sil.obj : error LNK2019: unresolved external symbol _sf_close referenced in function _main1>sil.obj : error LNK2019: unresolved external symbol _sf_read_double referenced in function _main1>sil.obj : error LNK2019: unresolved external symbol _sf_open referenced in function _main1>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)转到调试>>项目属性>>配置属性>> C / C ++ >>常规>>其他包含目录>>单击右侧的箭头,然后单击编辑>>在此处添加路径libsndfile目录中的include文件夹。

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

最后,您完成了!您的代码现在应该可以编译并正常工作,而不会引发任何错误。

10-08 08:17