FFTW3在VS环境下的安装(亲测)

在IPOL中:http://www.ipol.im/pub/art/2012/g-ace/,给出的ACE算法中包含了快速傅里叶变换的函数,fftw在VS环境下的配置现在整理如下,我的电脑配置为:32位+VS2013。

1. 登陆http://www.fftw.org/install/windows.html下载与电脑位数相同的版本:我这里需要的是32-bit version。

 
2. 将下载的.zip解压到指定位置,例如:F:\Program Files\fftw
3. 打开VS命令窗口或者在CMD命令窗口下,将文件路径变更到步骤2的目录:cd F:\Program Files\fftw

 
4. 依次输入下列命令,生成默认的X86架构lib文件
lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
5. 将F:\Program Files\fftw下的libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll复制到C:\Windows\System32目录下
6. 将F:\Program Files\fftw下的fftw3.h放到..\Microsoft Visual Studio 12.0\VC\include目录下
7. 在VS中,右键代开:属性—>配置属性—>VC++目录中的包含目录,引用目录,库目录加上F:\Program Files\fftw
8. 现在可以进行下面程序的测试了。如果程序不能运行可以将F:\Program Files\fftw中的libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll放到工程目录下(备选)。
测试程序如下:

#pragma comment(lib, "F:\\Program Files\\fftw\\libfftw3-3.lib")
#pragma comment(lib, "F:\\Program Files\\fftw\\libfftw3f-3.lib")
#pragma comment(lib, "F:\\Program Files\\fftw\\libfftw3l-3.lib")
#include <stdio.h>
#include <stdlib.h>
#include <fftw3.h>
#define N 5
int main()
{
	fftw_complex *in, *out;
	fftw_plan p;
	in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
	out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
	p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

	int n;
	for (n = 0; n < N; n++)
	{
		in[n][0] = 1;
		in[n][1] = 2;
	}

	fftw_execute(p);
	fftw_destroy_plan(p);

	for (n = 0; n < N; n++)
	{
		printf("%3.2lf+%3.2lfi    ", out[n][0], out[n][1]);
	}
	printf("\n");
	fftw_free(in); fftw_free(out);
	return 0;
}

参考:

http://bbs.csdn.net/topics/390815673

http://blog.csdn.net/wang_yunpeng/article/details/71724384

http://blog.csdn.net/wwoll/article/details/52937027

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值