下载对应版本的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文件所在目录
      VS2015配置FFTW
    • 选择链接器 ===》 常规,在附加库目录中填入.lib所在目录;
    • 链接器 ===》 输入== > 附加依赖项中填入各个lib的名称
    libfftw3-3.lib
    libfftw3f-3.lib
    libfftw3l-3.lib
    
  • 复制.dll文件到自己的项目中
  • 测试
#include "fftw3.h"
#include<iostream>
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;
}

相关文章: