• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

windows下Qt调用fftw库

环境:window10

Qt:5.15.2

程序中需要用到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,构建成功

全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法