欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Visual Studio 2022配置fftw第三方庫的詳細過程

 更新時間:2024年06月11日 14:45:57   作者:菜籃子沖沖沖  
FFTW是一個可以進行可變長度一維或多維DFT的開源C程序庫,是目前最快的FFT算法實現(xiàn),本文簡述了在Windows平臺上,如何在C++中調(diào)用FFTW,所使用的IDE為Visual Studio 2022,感興趣的朋友一起看看吧

1. 介紹

FFTW是一個可以進行可變長度一維或多維DFT的開源C程序庫,是目前最快的FFT算法實現(xiàn)。本文簡述了在Windows平臺上,如何在C++中調(diào)用FFTW,所使用的IDE為Visual Studio 2022。

FFTW的詳細信息可在 http://www.fftw.org 中查看

2.獲取FFTW

在 http://www.fftw.org/install/windows.html 中下載32位或64位版并解壓

3.生成lib文件

首先安裝lib.exe(VS都是在帶的,只不過我們要自己去生成) 先找到VS的lib.exe路徑: 比如我的是:C:\Program
Files\Microsoft VisualStudio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64

然后再這個文件路徑下找到這4個文件 (不同的版本的VS對應(yīng)后面的數(shù)字不一樣)
-C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE
將這4個文件復(fù)制到如上lib.exe所在的路徑下,以激活lib.exe.

測試libshi是否正常使用
以管理員的方式打開命令行
定位到lib.exe所在路徑
輸入lib
如下圖,則lib可正常使用

接著把這三個dll文件復(fù)制到lid.exe所在的目錄下

-在lid.exe所在目錄下輸入指令生成lib文件,x86和x64對應(yīng)不同的指令

x64:

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

x86

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

運行結(jié)果如圖則生成成功

生成結(jié)果

4.在VS2022中的項目屬性中進行配置

主要有4個步驟:

1.添加頭文件路徑:(也就是下圖的包含目錄)

在屬性-》c/c++=》AdditionalIncludeDirectories中添加fftw-3.3.4-dll64這個文件夾,這樣程序可以使用fftw3.h

2.添加庫路徑:(也就是下圖的庫目錄)

在屬性=》Linker=》AdditionalLibraryDirectories中添加fftw-3.3.4-dll64這個文件夾,這樣程序可以使用其中的dll文件。

3.添加庫文件名:(也就是下圖的附加依賴項)

在屬性=》Linker下的input選項中的AdditionalDependencies中添加

libfftw3-3.lib
libfftw3f-3.lib
libfftw3l-3.lib

在我自己的工程上加這三個地方

5.測試代碼

#include "fftw3.h"
#include <stdio.h>
#define N 8
int main()
{
    int i;
    fftw_complex *din,*out;
    fftw_plan p;
    din  = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
    if((din==NULL)||(out==NULL))
    {
        printf("Error:insufficient available memory\n");
    }
    else
    {
        for(i=0; i<N; i++)/*測試數(shù)據(jù)*/
        {
            din[i][0] = i+1;
            din[i][1] = 0;
        }
    }
    p = fftw_plan_dft_1d(N, din, out, FFTW_FORWARD,FFTW_ESTIMATE);
    fftw_execute(p); 
    fftw_destroy_plan(p);
    fftw_cleanup();
    for(i=0;i<N;i++)
    {
        printf("%f,%fi\n",din[i][0],din[i][1]);
    }
    printf("\n");
    for(i=0;i<N;i++)
    {
        printf("%f,%fi\n",out[i][0],out[i][1]);
    }
    if(din!=NULL) fftw_free(din);
    if(out!=NULL) fftw_free(out);
    getchar();
    return 0;
}

參考鏈接

https://blog.csdn.net/weixin_39914245/article/details/83689817
https://www.cnblogs.com/holyprince/p/5568307.html
https://www.cnblogs.com/ybqjymy/p/14239035.html

https://blog.csdn.net/Aritro/article/details/131833601

到此這篇關(guān)于Visual Studio 2022配置fftw第三方庫的文章就介紹到這了,更多相關(guān)Visual Studio 2022配置fftw內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論