与kissfft函数的链接器错误(语言:C / C ++)

时间:2015-04-04 18:03:00

标签: c linker-errors kissfft

我正在尝试使用kiss_fft库进行简单的FFT,但我不断收到链接错误,并希望有人可以了解情况。这是我的代码(我希望,就kiss_fft的用法而言,这是正确的):

#include<stdlib.h>
#include<stdio.h>
#include "kiss_fft.h"

#define SIZE 1024

int main () {
    double samples[SIZE];
    int i;

    for (i = 0; i < SIZE; i++) {       // initialize samples to randomish values
        samples[i] = (float)(rand() % 50) * .5;
    }

    kiss_fft_cfg cfg = kiss_fft_alloc(SIZE, 0, 0, 0);
    kiss_fft_cpx fft_in[SIZE];
    kiss_fft_cpx fft_out[SIZE];

    for (i = 0; i < SIZE; i++) {
        fft_in[i].r = samples[i];
        fft_in[i].i = 0;
        fft_out[i].r = 0;
        fft_out[i].i = 0;
    }

    kiss_fft(cfg,fft_in,fft_out);

    free(cfg);
}

这是我得到的错误:

Undefined symbols for architecture x86_64:
  "_kiss_fft", referenced from:
      _main in FFT_standalone-712deb.o
  "_kiss_fft_alloc", referenced from:
      _main in FFT_standalone-712deb.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

根据kissFFT的自述文件,我唯一需要包含的是kiss_fft标题,我应该没问题。除此之外,程序本身根本没有参与,我不确定可能是什么问题。 C也不是我的首选语言,所以我可能做错了。有什么想法吗?

0 个答案:

没有答案