#include <stdio.h>
#include <math.h>
#include "fftw3.h"
int main(void)
{
printf("Hello world\n");
int N = 8; // 输入数据点的数量
fftw_complex in[N], out[N];
fftw_plan plan;
// 初始化输入数据
for (int i = 0; i < N; i++) {
in[i][0] = i; // 实部
in[i][1] = 0.0; // 虚部
}
//创建FFT计划
plan = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
// 执行FFT
fftw_execute(plan);
// 输出结果
printf("FFT结果:\n");
for (int i = 0; i < N; i++) {
printf("%2d: %8.5f + %8.5fi\n", i, out[i][0], out[i][1]);
}
// 清理
fftw_destroy_plan(plan);
fftw_cleanup();
return 0;
}
系统报错:
* Executing task: C/C++: gcc 生成活动文件
正在启动生成...
/usr/bin/gcc -fdiagnostics-color=always -g /home/worm/diansai/petalinux/test.c -o /home/worm/diansai/petalinux/test
/usr/bin/ld: /tmp/ccfZ23xw.o: in function `main':
/home/worm/diansai/petalinux/test.c:19: undefined reference to `fftw_plan_dft_1d'
/usr/bin/ld: /home/worm/diansai/petalinux/test.c:22: undefined reference to `fftw_execute'
/usr/bin/ld: /home/worm/diansai/petalinux/test.c:31: undefined reference to `fftw_destroy_plan'
/usr/bin/ld: /home/worm/diansai/petalinux/test.c:32: undefined reference to `fftw_cleanup'
collect2: error: ld returned 1 exit status
生成已完成,但出现错误。
但是可以打开fftw3.h文件,也确实安装了FFTW3库