当前位置: 首页 > news >正文

vs2019安装cpu版本的fftw 以实现傅里叶变换

1 FFTW包下载:FFTW网站,并解压安装包

2 打开VS 2019

3 在顶部菜单栏里面,选择工具,并在下拉菜单中找到命令行

4 选择开发者命令提示,弹出如下对话框

在这里插入图片描述

5 输入lib.exe,回车

在这里插入图片描述

6 进入解压目录

在这里插入图片描述

7.依次运行它的安装命令,可以查看README-WINDOWS里的安装提示

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

在这里插入图片描述

8.此时应当生成了以下几个文件,这代表安装完成了。

在这里插入图片描述

9. 将3个dll文件复制到project 目录下:

在这里插入图片描述

10. 编辑项目属性,将FFTW的解压路径添加到VS (包含目录和库目录);附加依赖项里输入3个lib文件(文件名+.lib扩展名)

在这里插入图片描述

在这里插入图片描述

11 测试代码,注意环境需要选x64

#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <vector>
#include "InterfaceLib.h"
#include <fstream>
#include <string.h>
#include <iostream>
#include<graphics.h>//
#pragma comment( lib, "libfftw3-3.lib")
#pragma comment( lib, "libfftw3f-3.lib")
#pragma comment( lib, "libfftw3l-3.lib")#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);return 0;
}

在这里插入图片描述

12. C++运行,显示由于找不到libfft23-3.dll.无法执行,但是我已经将安装包的路径添加到项目属性了,为什么还是提示找不到

在生成后事件里面的命令行添加,如果以后用到单精度/long double,再分别拷 libfftw3f-3.dll、libfftw3l-3.dll

xcopy /Y /D "I:\2 GPU_coding\fftw-3.3.5-dll64\libfftw3-3.dll"  "$(TargetDir)"

在这里插入图片描述
链接器附加依赖项
在这里插入图片描述
运行结果
在这里插入图片描述

13.总结

VS 配置(x64
C/C++ → 附加包含目录:I:\2 GPU_coding\fftw-3.3.5-dll64 (FFTW解压包所在路径)
链接器 → 常规 → 附加库目录:同上
链接器 → 输入 → 附加依赖项:libfftw3-3.lib (根据所需精度不同在3个包之间自行选择,当前为double类型
在生成后事件里面的命令行添加→命令行→xcopy /Y /D "I:\2 GPU_coding\fftw-3.3.5-dll64\libfftw3-3.dll" "$(TargetDir)"根据所需精度不同在3个包之间自行选择,当前为double类型

http://www.dtcms.com/a/352130.html

相关文章:

  • 《护理学》10月版面征稿论文速递
  • 【46页PPT】AI智能中台用ABC+IOT重新定义制造(附下载方式)
  • SQLBot:一款基于大语言模型和RAG的智能数据分析工具
  • AI人工智能一体化HR系统如何选型?
  • 重塑金融管理会计核心引擎,容智管会智能体打造智能决策新基建
  • 手写MyBatis第35弹:@Select、@Insert等注解的背后原理
  • 【软考论文】论DevOps及其应用
  • BotCash:2025 中国算力大会——国家级数据标注产业供需对接大会
  • 【自记】Python 局部变量、全局变量及global的示例
  • Python实现RANSAC进行点云直线、平面、曲面、圆、球体和圆柱拟合
  • 负载均衡之平滑加权轮询(Smooth Weighted Round Robin)详解与实现
  • 前沿技术趋势与应用:探索数字世界的下一个十年
  • 本地通过阿里云ECS建立SSH隧道连接阿里云RDS MYSQL数据库
  • 【P2P】RELAY服务2:cmake+ c实现及ubuntu运行
  • 淘宝/天猫商品详情API数据解析【附代码】
  • 软件检测报告:XML外部实体(XXE)注入漏洞原因和影响
  • 【Erdas实验教程】031:遥感图像频率域增强(傅立叶变换)
  • BCI良好棉花认证标准及申请条件(2025年最新版)
  • 加密狗与U盘的核心区别,U盘能否替代加密狗?
  • 电力工程大模型驱动AI工程计算:从“算错挨骂”到“一键精准”
  • 开发指南135-CSS中定义参数
  • 技术干货丨基于SimSolid的塑胶模具温度场瞬态分析
  • 【贪心算法】day3
  • win11在安装com0com软件后,在设备管理器中虚拟串口黄色感叹号得解决方法
  • 什么是Webpack的热更新(Hot Module Replacement)?原理是什么?
  • 2 梯度下降算法
  • 面试 总结(1)
  • 博士招生 | 南洋理工大学 PINE Lab 招收全奖博士
  • 一文看懂@Bean注解的原理
  • Markdown 编辑器 语法