fftw的Windows版安装及遇到的问题

1,在官网FFTW Installation on Windows下载fftw包并解压。

 2,打开cmd,进入上述解压后的文件夹目录,运行(可查看上述解压文件中的REDME-WINDOWS里的说明:

(32位系统)

     lib /def:libfftw3f-3.def
     lib /def:libfftw3-3.def
     lib /def:libfftw3l-3.def

 (64位系统)

     lib /machine:x64 /def:libfftw3f-3.def
     lib /machine:x64 /def:libfftw3-3.def
     lib /machine:x64 /def:libfftw3l-3.def

    注意:如果显示没有lib.exe,则把lib.exe所在的目录放入环境变量。就是vs安装目录下的bin文件夹下的某个文件夹,可以搜索一下。(比如我的是D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\Hostx64\x64)

3,将libfftw3f-3.dll libfftw3-3.dll libfftw3l-3.dll放入windows/system32中, 如果出现找不到那些dll,计算机无法运行的话,就有可能是你的系统是64位,你只要把上面四个dll文件再复制一份放到SysWoW64文件夹里面就好了;

然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入vc中的lib文件夹(可以通过搜索找到),并将其拖到vs项目的资源文件中。

把fftw3.h放入include文件夹,并将其拖到vs项目的头文件中。

4,测试:

#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);
    return 0;
}

测试结果:

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值