fftw3安装

 

ubuntu:

sudo apt-get install fftw3 fftw3-dev pkg-config

 

win:

编译器是 visual studio 2013

首先下载FFTW 3.3.5 Windows 32-bit binaries 解压后将libfftw3-3.def,libfftw3f-3.def,libfftw3l-3.def拷到D:\visual studio\VC\bin中,fftw3.h放入D:\visual studio\VC\include文件夹,将libfftw3f-3.dll ;libfftw3-3.dll ; libfftw3l-3.dll 放入C:\Windows\SysWOW64中(64位系统)。

打开cmd 转到编译器文件下的D:\visual studio\VC\bin文件夹中,运行lib.exe,提示运行成功后输入

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

(注意空格)

将生成的libfftw3-3.lib ; libfftw3f-3.lib ; libfftw3l-3.lib放入vc中的D:\visual studio\VC\lib文件夹。

编译器中需配置属性 链接器->输入->附加依赖项,添加:

libfftw3-3.lib

libfftw3f-3.lib 

libfftw3l-3.lib

新建工程 需添加#include”fftw3.h“。

附一段网上代码

 

  1. #include "fftw3.h"  
  2. int main()  
  3. {  
  4.     fftw_complex *in, *out;  
  5.     fftw_plan p;  
  6.     int N= 8;  
  7.     int i;  
  8.     int j;  
  9.     in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);  
  10.     out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);  
  11.     for( i=0; i < N; i++)  
  12.     {  
  13.         in[i][0] = 1.0;  
  14.         in[i][1] = 0.0;  
  15.         printf("%6.2f ",in[i][0]);  
  16.     }  
  17.     printf("\n");  
  18.     p=fftw_plan_dft_1d(N,in,out, FFTW_FORWARD, FFTW_ESTIMATE);  
  19.     fftw_execute(p); /* repeat as needed*/  
  20.     for(j = 0;j < N;j++)  
  21.     {  
  22.         printf("%6.2f ",out[j][0]);  
  23.     }  
  24.     printf("\n");  
  25.     fftw_destroy_plan(p);  
  26.     fftw_free(in);   
  27.     fftw_free(out);  
  28.     return 0;  
  29. }  

你可能感兴趣的:(c++)