環(huán)境:window10
Qt:5.15.2
程序中需要用到fftw庫來進(jìn)行傅里葉變換,通過網(wǎng)上的資料,配置了很久一直沒成功,后來發(fā)下還是沒有配置正確,最后終于成功,順便記錄一下
1.下載fftw3.3.5
http://www.fftw.org/install/windows.html,根據(jù)自已編譯器版本下載32位或64位,我的Qt MinGW是64位的,所以選擇64位下載
下載后解壓如下:
其中fftw3.h需要跟編譯后的lib文件一塊拷到項(xiàng)目工程目錄
二、.lib文件生成
我電腦上已經(jīng)安裝VS2022,就不寫教程了,需要的自己去搜教程
①首先在VS的IDE安裝路徑中搜索lib.exe,其中有一個(gè)是X64,有一個(gè)是X86的,右鍵打開X64相應(yīng)的文件所在位置,并復(fù)制其路徑。
②按WIN按鍵后搜索cmd以管理員模式進(jìn)入命令窗口,輸入cd /d lib.exe的路徑,再輸入lib.exe觀察是否可運(yùn)行,若可以,則說明.lib的生成環(huán)境是可以的。
③由于要載入.lib文件,需要將lib.exe文件所在的文件夾的只讀屬性去掉,將上面下載的三個(gè).def文件復(fù)制到lib.exe所在目錄中。
④重新進(jìn)入命令窗口(這時(shí)必須以管理員身份進(jìn)入cmd窗口,每個(gè)系統(tǒng)操作不同,請自行搜索)。一定要注意只讀+管理員,否則可能出現(xiàn)LINK : fatal error LNK1104的錯(cuò)誤。然后再分別輸入:
lib /machine:X64 /def:libfftw3-3.def
lib /machine:X64 /def:libfftw3f-3.def
lib /machine:X64 /def:libfftw3l-3.def
這樣便生成了相應(yīng)的.lib文件和.exp文件
注: 如果失敗,可能是缺少以下文件,請嘗試將VS安裝目錄下common7/IDE路徑下的以下四個(gè)文件復(fù)制到lib.exe所在路徑后,再重新生成.lib文件。
三、Qt中庫的載入
1.將圖A中fftw3.h文件和圖B中的3個(gè).lib文件復(fù)制到Qt工程目錄中,即main.cpp中
2.在Qt工程中添加頭文件,把fftw3.h添加進(jìn)來
3.在Qt工程的.pro程序中的最后對(duì).lib文件路徑進(jìn)行申明
命令LIBS += $$PWD\libfftw3-3.lib 根據(jù)自己的路徑改。
4. 點(diǎn)擊項(xiàng)目,確認(rèn)構(gòu)建目錄的位置,一會(huì)兒要把.dll文件放進(jìn)來,這個(gè)很重要,有時(shí)候dll方的不是這個(gè)目錄,就會(huì)提示找不到dll
5.然后構(gòu)建所有項(xiàng)目
此時(shí)在構(gòu)建目錄中會(huì)出現(xiàn)debug文件夾和release文件夾這些構(gòu)建好的項(xiàng)目。接著把圖A中的三個(gè).dll文件復(fù)制到構(gòu)建目錄中
ok,構(gòu)建成功