Win10+VS2017安裝FFTW庫
在學習ITK的過程中,需要安裝FFTW庫,好吧,那就安裝一下唄
1. 參考文章
先例舉一下自己所參考的部落格,前人栽樹,後人乘涼
2. 安裝環境
平臺 | 版本 |
---|---|
Windows | Windows10 64位 |
VS | VS2017 |
FFTW | FFTW 3.3.5 64位 |
說完我們的環境,接下來就是安裝了。這裡說一下FFTW的下載網址: FFTW 3.3.5 Windows DLLs
這裡我們選擇64bit的下載就好了。
3. 安裝
-
首先我們解壓縮我們下載的檔案,然後把它放在一個目錄下,這裡是
E:\fftw-3.3.5-dll64
-
執行lib.exe, 這個也是比較簡單的。我們的系統是win10 ,我們在系統開始選單欄中開啟vs2017的x64工具,開啟它。
然後執行lib.exe
命令,如圖所示表示這個功能是正常的。 然後執行lib.exe
命令,如圖所示表示這個功能是正常的。
-
在命令列的模式下進入我們的
E:\fftw-3.3.5-dll64
的目錄下,分別執行命令:
lib /machine:x64 /def:libfftw3-3.def
lib /machine:x64 /def:libfftw3l-3.def
lib /machine:x64 /def:libfftw3f-3.def
注意:這裡的machine預設是x86系統,因為這裡需要時64位系統,所以我們修改一下機器型別,實際中根據需要自行修改。另外x64之後還有一個空格注意一下。
然後我們的E:\fftw-3.3.5-dll64
就會出.lib
和.exp
檔案:
4. 找到這個資料夾:
不同的安裝路徑不同,其實我們可以搜尋atlmfc資料夾進行定位的。將我們
E:\fftw-3.3.5-dll64
下面的生成的庫檔案libfftw3-3.lib
,libfftw3f-3.lib
,libfftw3l-3.lib
拷貝到lib
資料夾裡面。將
E:\fftw-3.3.5-dll64
盤下面fftw3.h
放到include
資料夾裡面。5. 將
E:\fftw-3.3.5-dll64
下的libfftw3-3.dll
、libfftw3f-3.dll
、libfftw3l-3.dll
複製到C:\Windows\SysWOW64
7. 開啟vs2017,新建一個cpp工程,輸入以下測試程式碼:
#include "fftw3.h"
#include <windows.h>
int main()
{
fftw_complex *in, *out;
fftw_plan p;
int N = 8;
int i;
int j;
in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
for (i = 0; i < N; i++)
{
in[i][0] = 1.0;
in[i][1] = 0.0;
printf("%6.2f ", in[i][0]);
}
printf("\n");
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
fftw_execute(p); /* repeat as needed*/
for (j = 0; j < N; j++)
{
printf("%6.2f ", out[j][0]);
}
printf("\n");
fftw_destroy_plan(p);
fftw_free(in);
fftw_free(out);
system("pause");//暫停
return 0;
}
編譯出現錯誤:
解決:
我們需要配置一下工程屬性,在工程->屬性->配置屬性->連結器->輸入->附加依賴項中,
新增以下程式碼:
libfftw3-3.lib
libfftw3f-3.lib
libfftw3l-3.lib
-
再次執行出現錯誤:
我們已經將這個.dll已經拷貝到C:\Windows\SysWOW64
照理應該可以找到的,但還是出現了問題,所以我們再將E:\fftw-3.3.5-dll64
下的libfftw3-3.dll
、libfftw3f-3.dll
、libfftw3l-3.dll
也複製到C:\Windows\System32
裡面。 -
最後執行沒有錯誤:
軟體的安裝還是需要多貼一些圖,別人說的簡單,自己有時候真的找不到在哪裡~org