我通过以下步骤安装了FFTW库,但我不确定我是否正确使用它。
1.从FFTW
下载预编译的.dll2.将fftw3.h输入include,并将libfftw3-3.dll添加到MinGW C ++ Linker / library
然后我测试了下面的代码(从here复制)。
但我发现 fftw_plan_dft_1d()功能会导致我的程序无法启动......
错误: (已暂停)启动程序退出时代码为0xc0000135。
请帮助我找出我错过的内容。
#include <stdio.h>
#include <stdlib.h>
#include <fftw3.h>
#include <iostream>
#include <cmath>
using namespace std;
#define REAL 0
#define IMAG 0
int main() {
const int n=5;
fftw_complex x[n];
fftw_complex y[n];
for(int i=0; i<n; i++){
x[i][REAL] = i+1;
x[i][IMAG] = 0;
}
fftw_plan plan = fftw_plan_dft_1d(n,x,y,FFTW_FORWARD,FFTW_ESTIMATE);
fftw_execute(plan);
fftw_destroy_plan(plan);
fftw_cleanup();
cout<<"FFT = "<<endl;
for(int i=0; i<n;i++)
if(y[i][IMAG]<0)
cout<<y[i][REAL] << " - " <<abs(y[i][IMAG]) <<"i"<<endl;
else
cout<<y[i][REAL] << " + " <<y[i][IMAG] <<"i"<<endl;
return 0;
}