Win10+VS2017安装FFTW库

在学习ITK的过程中,需要安装FFTW库,好吧,那就安装一下呗

1. 参考文章

先例举一下自己所参考的博客,前人栽树,后人乘凉

  1. FFTW3在VS2013下的安装与使用示例
  2. 在64位系统下在VS中进行FFTW配置
  3. win7x64、VSx64环境下安装和使用FFTW

2. 安装环境

平台 版本
Windows Windows10 64位
VS VS2017
FFTW FFTW 3.3.5 64位

说完我们的环境,接下来就是安装了。这里说一下FFTW的下载网址: FFTW 3.3.5 Windows DLLs
在这里插入图片描述
这里我们选择64bit的下载就好了。

3. 安装

  1. 首先我们解压缩我们下载的文件,然后把它放在一个目录下,这里是E:\fftw-3.3.5-dll64
    在这里插入图片描述

  2. 运行lib.exe, 这个也是比较简单的。我们的系统是win10 ,我们在系统开始菜单栏中打开vs2017的x64工具,打开它。
    在这里插入图片描述
    然后运行lib.exe命令,如图所示表示这个功能是正常的。 然后运行lib.exe命令,如图所示表示这个功能是正常的。
    在这里插入图片描述

  3. 在命令行的模式下进入我们的E:\fftw-3.3.5-dll64的目录下,分别运行命令:

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

注意:这里的machine默认是x86系统,因为这里需要时64位系统,所以我们修改一下机器类型,实际中根据需要自行修改。另外x64之后还有一个空格注意一下。

在这里插入图片描述

然后我们的E:\fftw-3.3.5-dll64就会出.lib.exp文件:
在这里插入图片描述
4. 找到这个文件夹:
在这里插入图片描述
不同的安装路径不同,其实我们可以搜索atlmfc文件夹进行定位的。将我们E:\fftw-3.3.5-dll64下面的生成的库文件libfftw3-3.lib ,libfftw3f-3.lib ,libfftw3l-3.lib 拷贝到lib文件夹里面。
在这里插入图片描述
E:\fftw-3.3.5-dll64盘下面fftw3.h放到include文件夹里面。
在这里插入图片描述
5. 将E:\fftw-3.3.5-dll64下的libfftw3-3.dlllibfftw3f-3.dlllibfftw3l-3.dll复制到C:\Windows\SysWOW64
在这里插入图片描述
7. 打开vs2017,新建一个cpp工程,输入以下测试代码:

#include "fftw3.h"  
#include <windows.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;
}

编译出现错误:
在这里插入图片描述

解决:
我们需要配置一下工程属性,在工程->属性->配置属性->链接器->输入->附加依赖项中,
在这里插入图片描述
添加以下代码:

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

在这里插入图片描述

  1. 再次运行出现错误:
    在这里插入图片描述
    我们已经将这个.dll已经拷贝到C:\Windows\SysWOW64照理应该可以找到的,但还是出现了问题,所以我们再将E:\fftw-3.3.5-dll64下的libfftw3-3.dlllibfftw3f-3.dlllibfftw3l-3.dll也复制到C:\Windows\System32里面。

  2. 最后运行没有错误:
    在这里插入图片描述

软件的安装还是需要多贴一些图,别人说的简单,自己有时候真的找不到在哪里~org

猜你喜欢

转载自blog.csdn.net/alxe_made/article/details/84205377