操作步骤参照:https://blog.csdn.net/wobujianni/article/details/50244525
https://blog.csdn.net/wwoll/article/details/52937027
在自己的使用过程中还遇到几个小细节,特别说明一下。
Windows下FFTW库的安装
1、 从网址http://www.fftw.org/install/windows.html上获得FFTW的windows dll预编译版本;
2、 解压缩文件,打开windows命令行窗口,就是那个cmd窗口啦。然后把当前目录转换到你解压缩文件的目录下。
cd C:\\Program Files <x86>\Microsoft Visual Studio 14.0\VC\bin
3、 在cmd命令窗口输入以下3个指令
lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
注意,注意这里默认指定machine为X86架构。x64架构就需要改成
lib/machine:X64 /def:libfftw3-3.def
lib/machine:X64 /def:libfftw3f-3.def
lib/machine:X64 /def:libfftw3l-3.def
注意,X64后面有一个空格,空格,空格。。。。这样就生成了x64架构的lib与dll文件,还支持ARM, EBC, X86。
注意第三个.def文件中的“3l-3”中的是字母L的小写,不是1。
4、 将libfftw3f-3.dll libfftw3-3.dll libfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入VS中的lib文件夹,把fftw3.h放入include文件夹。
注意,如果是amd64, 需要将3个lib文件复制到VC/lib/amd64文件夹中,而不是放在VC/lib文件夹下。这里具体复制的目标路径请查看新建工程后打开属性页-》vc++目录-》库目录,看在计算的值里面使用的是VC/lib还是VC/lib/amd64还是其他路径。
5、 在新建工程的时候,记得#include”fftw3.h“,然后设置参数:”项目“==>”项目属性”==>”配置属性”==>”链接器”==>”输入”==>”附加依赖项”,将以下三项添加进去:[这一步很重要!!!]
libfftw3-3.lib
libfftw3f-3.lib
libfftw3l-3.lib
接下来就是测试使用了,使用大家常用的测试代码:
#include "fftw3.h" 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; }
看程序是否可以成功运行,祝大家顺利安装!