1

我正在 Windows 7(64 位)上开发 CodeBlocks 12.11。我正在用 C 编程,我正在使用库:libsndfile ( http://www.mega-nerd.com/libsndfile/api.html ) 轻松读取 .wav 并将其转换为双数组。

我运行了 libsndfile 的向导(对于 Windows 64 位),也在 Codeblocks 的编译器设置中,我添加了编译器和链接器的搜索目录。但是,当我编译程序时,唯一的错误是:

"对 sf_open_fd 的未定义引用"

这是代码:

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

int main (int argc, char *argv[]) {

    FILE* wavf;
    SF_INFO info;
    char* name = "example.wav";
    wavf = fopen(name, "r");
    SNDFILE* source = sf_open_fd(fileno(wavf), SFM_READ, &info, 1);
    .
    .
    .
}

有任何想法吗?谢谢你!

4

1 回答 1

1
  1. 检查库和应用程序是否适用于相同的架构(比如 x64)。
  2. 检查库是否链接到应用程序。
  3. 检查应用程序和库是否使用 c 编译器编译。
于 2013-06-01T07:49:15.783 回答