FFTW3在windows x64 vs x64环境下的安装

时间:2021-07-16 01:00:45

操作步骤参照:https://blog.csdn.net/wobujianni/article/details/50244525

                            https://blog.csdn.net/wwoll/article/details/52937027

在自己的使用过程中还遇到几个小细节,特别说明一下。

Windows下FFTW库的安装

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

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

       cd C:\\Program Files <x86>\Microsoft Visual Studio 14.0\VC\bin

3、  在cmd命令窗口输入以下3个指令

lib /def:libfftw3-3.def 

lib /def:libfftw3f-3.def

lib /def:libfftw3l-3.def

注意,注意这里默认指定machine为X86架构。x64架构就需要改成

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

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

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

注意,X64后面有一个空格,空格,空格。。。。这样就生成了x64架构的lib与dll文件,还支持ARM, EBC, X86。

注意第三个.def文件中的“3l-3”中的是字母L的小写,不是1。

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

注意,如果是amd64, 需要将3个lib文件复制到VC/lib/amd64文件夹中,而不是放在VC/lib文件夹下。这里具体复制的目标路径请查看新建工程后打开属性页-》vc++目录-》库目录,看在计算的值里面使用的是VC/lib还是VC/lib/amd64还是其他路径

5、 在新建工程的时候,记得#include”fftw3.h“,然后设置参数:”项目“==>”项目属性”==>”配置属性”==>”链接器”==>”输入”==>”附加依赖项”,将以下三项添加进去:[这一步很重要!!!]
libfftw3-3.lib
libfftw3f-3.lib

libfftw3l-3.lib

接下来就是测试使用了,使用大家常用的测试代码:

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

看程序是否可以成功运行,祝大家顺利安装!