机子里的FFTW库下了很长时间了,总也没有去搞。唉,有很多东西就是这样,千方百计搞过来,搞到手了就晾在那里了。记得《黄生借书说》里面说得对啊“书非借不能读也”。
好了,感慨完毕。归入正题。
Windows下FFTW库的安装
1、 从网址http://www.fftw.org/install/windows.html上获得FFTW的windows dll预编译版本;
2、 解压缩文件,打开windows命令行窗口,就是那个cmd窗口啦。然后把当前目录转换到你解压缩文件的目录下。
3、 执行以下3个指令
lib /machine:ix86 /def:libfftw3-3,def
lib /machine:ix86 /def:libfftw
lib /machine:ix86 /def:libfftw
这会在该目录下建三个相应的dll文件和lib文件。注意第三个.def文件中的“
4、 将libfftw
5、 在 VC 中指定 libfftw
6、 最后一步就是,在你新建工程的时候,记得#include“fftw3.h”,然后把你要用的lib写到Project->setting->link->General里面的Object/library modules里面去。
7、 下面,你就可以放心大胆地去使用fftw的库编程了。为了熟悉FFTW的调用方式和数据结构,你还可以从http://www.fftw.org/#documentation下载一份manual好好钻研钻研。
可能出现的错误:
1. LNK1181:cannot open input file“…”: 出现这个错误的原因有: (1)你文件名打错了; (2) 你的当前目录不对,当前目录应该是你解压后的文件目录。
2. 源文件编译时报找不到lib,那是因为你第5步或第6步没做好,建议重做一下第5步和第6步。
使用FFTW编写测试程序
上面的搞好后,就写一个小的测试代码试一下效果。我就抄了一个网上的代码:
程序给了一个直流的时域数据,应该出来一个只有直流分量的DFT数据。
请看大屏幕:
数据正确,说明我们的调用流程没有问题,就可以使用了。
参考文献:
1、 http://www.fftw.org/install/windows.html
2、 FFTW mannual
3、 http://blog.chinson.idv.tw/ 好像不太能登上,请用网页快照,呵呵。