環境: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,構建成功