您的位置:首页 > 其它

Win10+VS2017安装FFTW库

alxe_made 2018-11-18 22:22 453 查看

在学习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.dll
libfftw3f-3.dll
libfftw3l-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.dll
    libfftw3f-3.dll
    libfftw3l-3.dll
    也复制到
    C:\Windows\System32
    里面。

  2. 最后运行没有错误:

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

阅读更多
标签: