您的位置:首页 > 编程语言 > C语言/C++

FFTW+VS2015 64&32位

2017-01-02 11:26 369 查看
(1)FFTW包。解压

(2)如果程序是32位,需要编译32位的。如下:cmd->(解压文件夹)->键入:

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

(3)在VS项目中添加解压文件路径

头文件:项目右键->属性->VC++目录—>包含目录—>添加路径

库文件:项目右键->属性->VC++目录—>库目录—>添加路径

依赖项:项目右键->属性->链接器->输入->附加依赖项->libfftw3-3.lib libfftw3f-3.lib libfftw3l-3.lib

(4)OK.

(5)如果程序是64位,需要编译64位。只需要将(2)中的改为:

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

其余步骤一致!!

(6)示例代码:

#include "fftw3.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);
getchar();
return 0;
}

注:把dll和lib文件拷贝到工作目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ visual studio fftw3