下载对应版本的FFTW(32 bits / 64 bits)
下载位置
解压
例如:
D:\framework\fftw
生成对应的lib文件
- 找到vs对应的命令行工具,区分32位和64位
- 执行如下命令
lib /def:libfftw3f-3.def
lib /def:libfftw3-3.def
lib /def:libfftw3l-3.def
- 在vs的项目中打开项目属性
- 选择C/C++ ===> 常规,在
附加包含目录
中填入.h
文件所在目录
- 选择
链接器 ===》 常规
,在附加库目录
中填入.lib
所在目录; - 在
链接器 ===》 输入== > 附加依赖项
中填入各个lib的名称
libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib
- 选择C/C++ ===> 常规,在
- 复制
.dll
文件到自己的项目中 - 测试
#include "fftw3.h"
#include
using namespace std;
int main()
{
fftw_complex *in, *out;
fftw_plan p;
int N = 8;
int i;
int j;
in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
for (i = 0; i < N; i++)
{
in[i][0] = 1.0;
in[i][1] = 0.0;
printf("%6.2f ", in[i][0]);
}
printf("\n");
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
fftw_execute(p); /* repeat as needed*/
for (j = 0; j < N; j++)
{
printf("%6.2f ", out[j][0]);
}
printf("\n");
fftw_destroy_plan(p);
fftw_free(in);
fftw_free(out);
system("pause");
return 0;
}