2015-12-28 18 views
-1

我使用的代码:: Blocks的测试一些代码“未定义参考‘sf_open’”,我只是不能biuld验证码:C的误差:从libsndfile

#include <stdio.h> 
#include <stdlib.h> 
#include <sndfile.h> 

int main() 
{ 
SNDFILE *sf; 

sf = sf_open("file.wav",SFM_READ,&info); //error happens in this line 

... 

和错误是“未定义的引用'sf_open'“,这不仅发生在sf_open中,而且也发生在sndfile.h中的任何函数中。

其实这里是我做过什么让这里:

  • 我先下载和Windows 64(我使用的是Windows 10)从大型书呆子网站安装libsndfile,并试图逃跑这个代码...没有工作,错误这一次是“sndfile.h:没有这样的文件或目录”

  • 所以有一段时间我去了安装目录(C后:\ Program Files文件\兆Nerd \ libsndfile \ include)并将头文件复制到CodeBlocks的头文件(C:\ Program Files(x86)\ CodeBlocks \ MinGW \ include)的defaut dir中,然后我再次尝试,最终找到了头文件!但是,现在这个错误发生的事情......

的sooo我想我没有在正确的道路打开了头,我没有这个很多经验...我无法找到答案在互联网的任何地方,我希望我在这里得到一些运气,谢谢!

+0

您需要链接到libsndfile [如何链接到一个库在Code :: Blocks之前由Damon描述](http://stackoverflow.com/a/5881751/3415618) – Jeremy

回答

1

杰里米指出,除了包括sndfile.h,你必须对libsndfile链接库(它应该是一个的.lib或某文件。

要连结它只是follow the link he provided