当前位置:   article > 正文

FFTW入门(1):环境搭建_fftw库windows安装

fftw库windows安装

FFTW是一个C子程序库,用于计算一个或多个维度的任意输入大小的离散傅里叶变换(DFT),以及实数和复数数据(以及偶数/奇数数据,即离散余弦/正弦变换或DCT/DST)。
FFTW的最新官方版本是3.3.10版。3.3版引入了对AVX x86扩展、基于MPI的分布式内存实现和Fortran 2003 API的支持。3.3.1版引入了对ARM Neon扩展的支持。有关详细信息,请参阅官网FFTW官方文档

Windows下添加fftw库

首先从官网下载地址中下载dll动态链接库.
在这里插入图片描述
本文只介绍得到.lib文件(即静态库)后静态调用的方法。

从dll文件构建lib文件

首先在开始菜单中找到VS的目录(我安装的版本是Visual studio community 2022),在目录下找到Developer Command Prompt for VS 2022.exe并运行。
在这里插入图片描述
这里会显示VS的安装路径。将fftw官网下载的压缩包解压到某个位置,建议和项目文件放一起。然后在这里切换到你解压后的目录。我将其解压到了E盘这个目录。
在这里插入图片描述
然后切换路径。
在这里插入图片描述
输入官网给出的指令:

     lib /def:libfftw3-3.def
     lib /def:libfftw3f-3.def
     lib /def:libfftw3l-3.def
  • 1
  • 2
  • 3

输入指令后就会在目录下生成.lib文件.
在这里插入图片描述
可以看到目录下多了几个文件。
在这里插入图片描述
接着,我们就可以使用QT或者VS导入库。

QT导入FFTW库

打开QT,在项目文件夹上右键–添加库–外部库–选择文件libfftw3-3.lib。
在这里插入图片描述
QT导入完成,可看到.pro文件中添加了几行。

VS导入FFTW库

打开VS,工具栏项目–属性–VC++目录,库目录添加.lib文件路径,包含目录添加.h文件路径。
在这里插入图片描述
接着,在链接器–输入–附加依赖项中输入.lib文件名。

测试

简单写个测试函数验证是否成功。

#include<fftw3.h>
using namespace std;


void myfft()
{
    fftw_complex* in, * out;
    int N = 1024;
    in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
    out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
    for (int i = 0; i < N; i++)
    {
        in[i][0] = 1;
        in[i][1] = 0;
    }
    fftw_plan p;

    p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

    fftw_execute(p); /* repeat as needed */

    fftw_destroy_plan(p);
    fftw_free(in);
    fftw_free(out);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

如果不报错的话基本就可以正常使用了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/105054
推荐阅读
相关标签
  

闽ICP备14008679号