环境: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,构建成功