提问人:Felipe Jacheto 提问时间:12/29/2015 更新时间:12/29/2015 访问量:3733
C 错误:libsndfile 中的“对'sf_open'的未定义引用”
C error: "Undefined reference to 'sf_open'" from libsndfile
问:
我正在使用 Code::Blocks 来测试一些代码,但我无法复制此代码:
#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 x64(我使用的是 Windows 10)的 libsndfile,并尝试运行此代码......没有用,这次的错误是“sndfile.h:没有这样的文件或目录”
所以过了一会儿,我去了安装目录(C:\Program Files\Mega-Nerd\libsndfile\include)并将标头复制到CodeBlocks defaut目录(C:\Program Files (x86)\CodeBlocks\MinGW\include),然后我再次尝试,它终于找到了标题!但是现在这个错误正在发生......
所以我想我没有以正确的方式打开标题,我对此没有太多经验......我在互联网上找不到答案,我希望我能在这里得到一些运气,谢谢!
答:
1赞
zon7
12/29/2015
#1
正如 Jeremy 所说,除了 sndfile.h 的 include 之外,您还必须链接到 libsndfile 库(它应该是 .lib 或 .a 文件。
要链接它,只需按照他提供的链接进行操作
评论