windows下Qt调用fftw库

 

环境:Windows 11 

Qt:6.8.3

程序中需要用到fftw库来进行傅里叶变换,通过网上的资料,配置了很久一直没成功,后来发下还是没有配置正确,最后终于成功,顺便记录一下

1.下载fftw3.3.5

http://www.fftw.org/install/windows.html,根据自已编译器版本下载32位或64位,我的Qt MinGW是64位的,所以选择64位下载

下载后解压如下:

其中fftw3.h需要跟编译后的lib文件一块拷到项目工程目录

二、.lib文件生成

我电脑上已经安装VS2022,就不写教程了,需要的自己去搜教程

①首先在VS的IDE安装路径中搜索lib.exe,其中有一个是X64,有一个是X86的,右键打开X64相应的文件所在位置,并复制其路径。

②按WIN按键后搜索cmd以管理员模式进入命令窗口,输入cd /d lib.exe的路径,再输入lib.exe观察是否可运行,若可以,则说明.lib的生成环境是可以的。

③由于要载入.lib文件,需要将lib.exe文件所在的文件夹的只读属性去掉,将上面下载的三个.def文件复制到lib.exe所在目录中。

④重新进入命令窗口(这时必须以管理员身份进入cmd窗口,每个系统操作不同,请自行搜索)。一定要注意只读+管理员,否则可能出现LINK : fatal error LNK1104的错误。然后再分别输入:

lib /machine:X64 /def:libfftw3-3.def

lib /machine:X64 /def:libfftw3f-3.def

lib /machine:X64 /def:libfftw3l-3.def

这样便生成了相应的.lib文件和.exp文件

注: 如果失败,可能是缺少以下文件,请尝试将VS安装目录下common7/IDE路径下的以下四个文件复制到lib.exe所在路径后,再重新生成.lib文件。

三、Qt中库的载入

1.将图A中fftw3.h文件和图B中的3个.lib文件复制到Qt工程目录中,即main.cpp中

2.在Qt工程中添加头文件,把fftw3.h添加进来

3.在Qt工程的.pro程序中的最后对.lib文件路径进行申明

命令LIBS += $$PWD\libfftw3-3.lib 根据自己的路径改。

4. 点击项目,确认构建目录的位置,一会儿要把.dll文件放进来,这个很重要,有时候dll方的不是这个目录,就会提示找不到dll

5.然后构建所有项目

此时在构建目录中会出现debug文件夹和release文件夹这些构建好的项目。接着把图A中的三个.dll文件复制到构建目录中

ok,构建成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitee崛起:国产代码托管平台如何接棒CODING成为开发者新宠

Gitee崛起:国产代码托管平台如何接棒CODING成为开发者新宠 随着腾讯云宣布CODING DevOps系列产品逐步停止服务,中国开发者生态正在经历一次重要的基础设施迁移。在这场变革中,开源中国旗下Gitee平台凭借其十年本土化…

flask下的MySQL增查配置

flask下的MySQL增删配置 添加数据 @app.route(/add) def add_data():u = UserInfo()new_user1 = UserInfo(nickname=flask_test1, mobile=13888888888, signature=理想, create_time=datetime.now(), role_id=1)new_us…

AT_agc056_c [AGC056C] 01 Balanced

不难设 \(d_i\) 为前缀 \(i\) 中 \(0/1\) 数量的差值,显然有两个限制:\(d_{l - 1} = d_r\) \(|d_{i - 1} - d_i| \le 1\)可以差分约束,事实上,直接跑差分约束就可以得到字典序最小的构造了,这也算本题的价值之一。…

高效智能(到家服务)管理平台解决方案

一、项目背景 随着互联网技术的快速发展以及服务行业的数字化转型,传统的线下服务模式逐渐向线上迁移。为了提升服务效率、优化用户体验,并满足用户对快速响应和精准服务的需求,本项目旨在打造一个高效、智能的服务…

centos7卸载openjdk-java11

[root@localhost ~]# rpm -qa|grep -i openjdk java-11-openjdk-headless-11.0.23.0.9-2.el7_9.x86_64 java-11-openjdk-devel-11.0.23.0.9-2.el7_9.x86_64 java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64# 卸载命令, yu…

jenkins的安装和配置

windows 安装 jenkins 自动化构建部署至linux服务器上 一、环境准备1、git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2、maven安装环境,包括jdk环境安装 参考链接 https://www.cnblogs.com…

从MMoE到PLE:读懂多任务学习架构的渐进式演化

从MMoE到PLE:读懂多任务学习架构的渐进式演化从MMoE到PLE:读懂多任务学习架构的渐进式演化 引言 在多任务学习(MTL)领域,MMoE(Multi-gate Mixture-of-Experts)无疑是一个里程碑式的模型,它通过巧妙的软参数共享…

在VSCode中设置Qt编写环境

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:【Day 52 】Linux-Jenkins

深入解析:【Day 52 】Linux-Jenkinspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析 在数字化转型浪潮下,代码管理工具已成为开发者日常工作的必备基础设施。面对国内外众多选择,新手开发者往往陷入选择困难。本文将从本土化开发视角,深入…

MES系统核心组件

核心总览 在半导体工厂中,MES(Manufacturing Execution System,制造执行系统) 是最高层的指挥中枢,它负责管理生产线上从投料开始到成品产出的全部作业流程。而其他各种“XX Server”则是MES这个大脑指挥下的专业…

易基因:多组学整合分析揭示DNA甲基化与基因组改变在肿瘤进化中的协同驱动机制|Nat Genet/IF29重磅

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,伦敦大学学院癌症研究所Nnennaya Kanu和弗朗西斯克里克研究所Peter Van Loo团队合作在国际遗传学Top期刊《自然遗传学》(Nature Genetics)发…

AI 视频模型大比拼(2025年7月版):价格、效果与分辨率

AI 视频模型大比拼(2025年7月版):价格、效果与分辨率pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

为什么芯片行业需要私有化部署软件?

在芯片研发过程中,每天产生的大量设计数据、测试结果和知识产权,构成了企业的核心竞争优势。一旦这些数据泄露,不仅可能导致数百万美元的研发投入付诸东流,更可能让企业在全球竞争中失去领先地位。 近年来,芯片行…

C++ std::string

C++ 标准库中的 std::string 是处理字符串的核心类,封装了字符串的存储、管理和操作,相比 C 风格的 char* 更安全、易用。 1、基本概念 1.1 基本特性 std::string 定义在 <string> 头文件中(属于 std 命名空间…

MathType数学公式编辑器v7.9.1

MathType全球最受欢迎的专业数学公式编辑器工具软件,可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等700多种办公软件,用于编辑数学试卷、书籍、报刊、论文…

git常见冲突场景及解决办法 - 指南

git常见冲突场景及解决办法 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

有关字节的基础知识

什么是字节位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示。字符:是指计算机中使用的字母、数字、字和符号 1bit表…

strip去符号前后对比

strip去符号前后对比 strip 是 binutils 中用于给二进制文件(可执行程序、静态库、动态库)去符号信息的工具。它只修改符号表,不碰指令内容,因此去除符号后的二进制文件中,各部分指令和原来是完全一一对应的,各s…

2025 ICPC网络赛第一场 L cover

给一个长度为 \(n\) 的序列 \(\{a_n\}\) 和 \(m\) 个操作,其中第 \(i\) 个操作是把区间 \([l_i,r_i]\) 都赋值为 \(c_i\)。 现在按顺序遍历每个操作,每个操作可执行可不执行。 最大化序列的颜色段数,即 \(1+\sum\li…