傅里叶变换库FFTW的安装配置VS2017

最近常用FFT相位匹配算位移需要用到此函数

配置方法(参考https://www.cnblogs.com/zillyrex/p/11802833.html)

FFTW是一个可以进行可变长度一维或多维DFT的开源C程序库,是目前最快的FFT算法实现。本文简述了在Windows平台上,如何在C++中调用FFTW,所使用的IDE为Visual Studio 2017。

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

获取FFTW

http://www.fftw.org/install/windows.html 中下载32位或64位版并解压

生成lib文件

打开VS自带的 “x86_x64 Cross Tools Command Prompt” ,cd到FFTW的解压文件夹 我的文件夹 D:\openCv\fftw

可能遇到问题cmd 用cd无效

解决方法:

cd D:/...
cd D:

键入命令

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

如果是64位则键入命令

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

以上命令产生了lib文件libfftw3-3.lib,应不同精度要求也可对libfftw3f-3.def及libfftw3l-3.def文件使用相同命令来产生相应lib文件

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

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

libfftw3-3.lib

libfftw3f-3.lib

libfftw3l-3.lib

在C++中调用FFTW

将下列三个文件粘贴到与cpp文件相同的目录下

  • fftw3.h
  • libfftw3-3.dll
  • libfftw3-3.lib

在cpp文件中加入代码

#include "fftw3.h"
#pragma comment(lib, "libfftw3-3.lib")

MORE

1.如果出现找不到那些dll,计算机无法运行的话,就有可能是你的系统是64位,你只要把上面四个dll文件再复制一份放到SysWoW64文件夹里面就好了。

2.如果不想VS2012那些讨厌的预编译头文件的话,直接在项目属性/ 的c/c++中预编译头中的第一个选择:预编译头,选择不使用编译头就OK了。

参考资料

https://www.cnblogs.com/welen/p/3885382.html

https://blog.csdn.net/dengm155/article/details/53819704

https://www.cnblogs.com/zillyrex/p/11802833.html

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2018-2021 Quincy
  • Visitors: | Views:

请我吃串串呗~

支付宝
微信