Windows下安装FFTW

   主要的步骤也是在网上找到的,不过找不到原作者(因为能搜到的都是写着转自)再次感谢原作者,但是中间有些地方说的不是很详细,而且我把我自己犯错的地方告诉大家。希望大家能够少走弯路。

本人:VS2008+WINDOW864位系统

 

1.从网上下载最新的预编译文件:

FFTW文件下载:http://www.fftw.org/install/windows.html

请下载32位(原因一会讲述)

2.楼主最开始的时候使用的是VS2013,超多未知问题,最后无奈卸载重新安装2008.

 所以建议请换成VS2008.然后继续下面步骤。

3.把\vs安装目录\Common7\IDE里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的bin文件夹里,把libfftw3-3.def,libfftw3f-3.def,libfftw3l-3.def也拷到bin下面.

4.cmd进入上面的bin目录,并运行

  lib/machine:i386 /def:libfftw3-3.def

  lib/machine:i386 /def:libfftw3f-3.def

  lib/machine:i386 /def:libfftw3l-3.def

如果是64位系统386换成x86

如果你的VS装在了C盘,一定要管理员权限打开cmd,否则这步执行不了。

5.libfftw3f-3.dll libfftw3-3.dlllibfftw3l-3.dll放入windows/system32中,然后将生成的库文件libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib放入vc中的lib文件夹,把fftw3.h放入include文件夹。

如果你的系统是64位系统,请将三个dll文件放入windows/SysWOW64

否则会出现:

无法启动程序,因为您的电脑遗失libfftw3-3.dll,请尝试重新安装以修正这个问题。

因为VS写的程序默认为32位,所以dll也要32位的,否则会出现“0xc000007b”错误。

 

6.在你新建工程的时候,记得#includefftw3.h“,然后设置参数:”项目“==>"项目属性"==>"配置属性"==>"链接器"==>"输入"==>"附加依赖项",将以下三项添加进去:

  libfftw3-3.lib

  libfftw3f-3.lib

  libfftw3l-3.lib

7.测试代码

#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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值