分享

Windows下FFTW库的使用

 万书草堂 2019-10-27
        

机子里的FFTW库下了很长时间了,总也没有去搞。唉,有很多东西就是这样,千方百计搞过来,搞到手了就晾在那里了。记得《黄生借书说》里面说得对啊书非借不能读也

好了,感慨完毕。归入正题。

WindowsFFTW库的安装

1、  从网址http://www./install/windows.html上获得FFTWwindows dll预编译版本;

2、  解压缩文件,打开windows命令行窗口,就是那个cmd窗口啦。然后把当前目录转换到你解压缩文件的目录下。

3、  执行以下3个指令

lib /machine:ix86 /def:libfftw3-3,def
lib /machine:ix86 /def:libfftw3f-3.def
lib /machine:ix86 /def:libfftw3l-3.def

这会在该目录下建三个相应的dll文件和lib文件。注意第三个.def文件中的3l-3中的是字母L的小写,不是数字一。因为这个问题,我搞了半个小时,呵呵。

4、  libfftw3l-3.dll, libfftw3f-3.dll, libfftw3-3.dll 文件复制到文件夹system32中。这一步是为了你以后都不用在你的可执行文件所在的文件夹中带上这3个拖油瓶,因为系统直接会去system32中找。

5、  VC 中指定 libfftw3l-3.lib, libfftw3f-3.lib, libfftw3-3.li3lib文件及 fftw3.h 文件所在的目录。也就是在vc++tools->options Directories选项中的Include FilesLibrary Files中把这两个目录加上,使得以后VC编译的时候知道该到哪个目录中去找。

6、  最后一步就是,在你新建工程的时候,记得#includefftw3.h,然后把你要用的lib写到Project->setting->link->General里面的Object/library modules里面去。

7、  下面,你就可以放心大胆地去使用fftw的库编程了。为了熟悉FFTW的调用方式和数据结构,你还可以从http://www./#documentation下载一份manual好好钻研钻研。

 

可能出现的错误:

1.      LNK1181cannot open input file“…”: 出现这个错误的原因有: (1)你文件名打错了; (2) 你的当前目录不对,当前目录应该是你解压后的文件目录。

2.      源文件编译时报找不到lib,那是因为你第5步或第6步没做好,建议重做一下第5步和第6步。

 

使用FFTW编写测试程序

  上面的搞好后,就写一个小的测试代码试一下效果。我就抄了一个网上的代码:

 

Code

 

程序给了一个直流的时域数据,应该出来一个只有直流分量的DFT数据。

请看大屏幕:


数据正确,说明我们的调用流程没有问题,就可以使用了。

 

参考文献:

1、    http://www./install/windows.html

2、    FFTW mannual

3、    http://blog./ 好像不太能登上,请用网页快照,呵呵。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多