Windows下VS2015配置FFTW3库

前些天重装了我的电脑系统,这也意味着我还要重装我电脑中的很多软件。但有些软件不是简单的用安装包傻瓜式的一路狂点下一步就可以完成的,还需要进行相应的配置。例如进行快速傅里叶变换所需要用到的FFTW库等。在配置FFTW库的时候参考的了网上的很多资料,各家所云不尽相同,走了一些弯路,在这里记录下我亲测可行的安装方法以供参考。

1.FFTW简介

FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT。

2.配置过程

  1. 登陆http://www.fftw.org/install/windows.html,根据自己的操作系统,选择下载对应的压缩包
  2. 解压到自己的盘符(尽量不要解压到c盘里面) 例如:D:\fftw
  3. 打开VS2015开发人员命令提示(如果是其他vs版本对应修改即可)。开始菜单->Visual Studio 2015->VS2015 开发人员命令提示
  4. 输入cd d:\fftw 即转到FFTW解压目录下
  5. 输入命令,生成lib文件
    lib /machine:x64 /def:libfftw3-3.def
    lib /machine:x64 /def:libfftw3f-3.def
    lib /machine:x64 /def:libfftw3l-3.def
  6. libfftw3f-3.dll, libfftw3-3.dll, libfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.lib, libfftw3f-3.lib ,libfftw3l-3.lib放入vc(在vs的安装目录中)中的lib文件夹,把fftw3.h放入include文件夹
  7. 在新建vs工程的时候,需要输入include “FFTW3.f”,然后设置参数:项目->项目属性->配置属性->链接器->输入->附加依赖项,将以下三项添加进去
    libfftw3-3.lib
    libfftw3f-3.lib
    libfftw3l-3.lib
  8. 完成配置

3.测试

下面是从别的博客上找到的一个测试代码:

#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;  
} 

4.参考

  1. https://bbs.csdn.net/topics/390815673
  2. https://blog.csdn.net/wang_yunpeng/article/details/71724384
  3. https://blog.csdn.net/wwoll/article/details/52937027

你可能感兴趣的:(Fortran)