0

我正在使用 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 中的任何函数上。

实际上,这是我为到达这里所做的:

  • 我首先从 mega-nerd 网站下载并安装了适用于 Windows x64 的 libsndfile(我使用的是 Windows 10),并尝试运行此代码...没有用,这次的错误是“sndfile.h:否这样的文件或目录”

  • 所以过了一会儿我去了安装目录(C:\ Program Files \ Mega-Nerd \ libsndfile \ include)并将标题复制到标题的CodeBlocks默认目录(C:\ Program Files(x86)\ CodeBlocks \ MinGW \ include),然后我再次尝试,它终于找到了标题!但是现在这个错误正在发生......

Sooo我想我没有以正确的方式打开标题,我对此没有太多经验......我在互联网上的任何地方都找不到答案,我希望我能在这里获得一些运气,谢谢!

4

1 回答 1

1

正如 Jeremy 所说,除了包含 sndfile.h 之外,您还必须链接 libsndfile 库(它应该是 .lib 或 .a 文件。

要链接它,只需按照他提供的链接

于 2015-12-28T22:49:30.483 回答