[未经博主授权,不得转载]

CSDN:@radar3344
Baidu/bilibili:@渡渡渡du

其中所需的文件(.h .lib .dll)我以打包好,需要的自取。
链接:https://pan.baidu.com/s/1DuVX0mvBzTpZ7W8EIzsVGA
提取码:6g50
但我不知道复制到你们电脑上能不能用

关键词:Qt、fftw、lib导入

问题描述:

一年前的QT工程,现在需要用一下,好多东西给忘了,现在Qt也重新下了,可能是因为新版是64位MinGW的构建环境,所以这个工程老是报错:undefined reference to…fftwf… 如下Qt中fftw3 .lib库导入方法
东搞西搞搞不出来,网上的方法(都不完整)都试了,但都没成功,于是重头来导入一遍,将完整过程记录于此。

解决步骤:

一、 fftw预编译文件下载

首先需要下载fftw预编译文件
下载地址:http://www.fftw.org/install/windows.html
Qt中fftw3 .lib库导入方法

我的Qt MinGW是64位的,所以选择64位下载
下载的.zip文件里有几个需要用到的文件(.def .dll .h)
Qt中fftw3 .lib库导入方法
图A

下载好的压缩包里最后面有个readme-windows可以看看,里面说明了后缀f、l的含义以及.lib文件生成的指令。

二、.lib文件生成

在VC(好像只能32位?所以我不用)或者VS环境下,用上述三个 .def 文件获得相应的.lib文件。
1. VS下载(已有的跳过这一步)
我的电脑下载不了VS2019,提示系统不支持,我的明明是WIN10!!更早版本VS下载地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
下载可能需要关闭校园网v*n。
安装教程: https://www.bilibili.com/video/BV1ux41137XV/?spm_id_from=333.788.videocard.2
2. 生成.lib文件
①首先在VS的IDE安装路径中搜索lib.exe,其中有一个是X64,有一个是X86的,右键打开X64相应的文件所在位置,并复制其路径。
Qt中fftw3 .lib库导入方法
②按WIN+R呼出、输入cmd进入命令窗口,输入cd /d lib.exe的路径,再输入lib.exe观察是否可运行,若可以,则说明.lib的生成环境是可以的。
Qt中fftw3 .lib库导入方法
③由于要载入.lib文件,需要将lib.exe文件所在的文件夹的只读属性去掉
,将上面下载的三个.def文件复制到lib.exe所在目录中。
Qt中fftw3 .lib库导入方法
④重新进入命令窗口(这时必须以管理员身份进入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
Qt中fftw3 .lib库导入方法
这样便生成了相应的.lib文件和.exp文件
Qt中fftw3 .lib库导入方法
图B

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

三、Qt中库的载入

  1. 将图A中fftw3.h文件和图B中的3个.lib文件复制到Qt工程目录中,即main.cpp中
    Qt中fftw3 .lib库导入方法
  2. 在Qt工程中添加头文件,把fftw3.h添加进来
    Qt中fftw3 .lib库导入方法
  3. 在Qt工程的.pro程序中的最后对.lib文件路径进行申明
    Qt中fftw3 .lib库导入方法
    命令LIBS += F:\ydsQTedit\data_analyzer\libfftw3-3.lib
    根据自己的路径改。

Qt中fftw3 .lib库导入方法
4. 点击项目,确认构建目录的位置,一会儿要把.dll文件放进来
Qt中fftw3 .lib库导入方法
然后构建所有项目
Qt中fftw3 .lib库导入方法
5. 此时在构建目录中会出现debug文件夹和release文件夹这些构建好的项目。接着把图A中的三个.dll文件复制到构建目录中
Qt中fftw3 .lib库导入方法
大功告成!!!可以debug了!
如有问题,可私聊,看到就回。

参考链接
https://blog.csdn.net/weixin_39914245/article/details/83689817
http://wap.sciencenet.cn/home.php?mod=space&uid=578676&do=blog&quickforward=1&id=1177719
https://www.jianshu.com/p/bd8804db7fb6
https://blog.csdn.net/moyumoyu/article/details/7950528
https://blog.csdn.net/wwoll/article/details/52960415
https://blog.csdn.net/wwoll/article/details/52937027

相关文章:

  • 2021-05-29
  • 2021-08-22
  • 2021-10-31
  • 2022-12-23
  • 2021-12-30
  • 2022-01-15
  • 2021-11-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-05
  • 2021-12-18
  • 2021-07-05
  • 2021-09-26
相关资源
相似解决方案