Visual Studio 2022配置fftw第三方庫的詳細過程
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)文章
C++中關(guān)鍵字const的詳細說明和使用介紹(最全)
const在C/C++中是十分重要的,如果單純理解為“常量”那么你的格局就小了,今天在這里給大家介紹一下const在C++中具體詳細的用法,需要的朋友可以參考下2025-03-03Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境(教程詳解)
這篇文章主要介紹了Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05Visual C++ 常用數(shù)據(jù)類型轉(zhuǎn)換方法詳解
本文純粹是總結(jié)一下有關(guān)類型轉(zhuǎn)換的貼子,需要的朋友可以參考下2017-06-06C語言實現(xiàn)統(tǒng)計字符串單詞數(shù)
這篇文章主要介紹了C語言實現(xiàn)統(tǒng)計字符串單詞數(shù),代碼非常的簡潔,有需要的小伙伴快來參考下。2015-03-03C語言數(shù)據(jù)結(jié)構(gòu)之單鏈表存儲詳解
鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將和大家一起聊聊C語言中單鏈表的存儲,感興趣的可以學習一下2022-07-07