1. 程式人生 > >Win10+VS2017安裝FFTW庫

Win10+VS2017安裝FFTW庫

在學習ITK的過程中,需要安裝FFTW庫,好吧,那就安裝一下唄

1. 參考文章

先例舉一下自己所參考的部落格,前人栽樹,後人乘涼

  1. FFTW3在VS2013下的安裝與使用示例
  2. 在64位系統下在VS中進行FFTW配置
  3. win7x64、VSx64環境下安裝和使用FFTW

2. 安裝環境

平臺 版本
Windows Windows10 64位
VS VS2017
FFTW FFTW 3.3.5 64位

說完我們的環境,接下來就是安裝了。這裡說一下FFTW的下載網址: FFTW 3.3.5 Windows DLLs
在這裡插入圖片描述
這裡我們選擇64bit的下載就好了。

3. 安裝

  1. 首先我們解壓縮我們下載的檔案,然後把它放在一個目錄下,這裡是E:\fftw-3.3.5-dll64
    在這裡插入圖片描述

  2. 執行lib.exe, 這個也是比較簡單的。我們的系統是win10 ,我們在系統開始選單欄中開啟vs2017的x64工具,開啟它。
    在這裡插入圖片描述
    然後執行lib.exe命令,如圖所示表示這個功能是正常的。 然後執行lib.exe命令,如圖所示表示這個功能是正常的。
    在這裡插入圖片描述

  3. 在命令列的模式下進入我們的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.dlllibfftw3f-3.dlllibfftw3l-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 

在這裡插入圖片描述

  1. 再次執行出現錯誤:
    在這裡插入圖片描述
    我們已經將這個.dll已經拷貝到C:\Windows\SysWOW64照理應該可以找到的,但還是出現了問題,所以我們再將E:\fftw-3.3.5-dll64下的libfftw3-3.dlllibfftw3f-3.dlllibfftw3l-3.dll也複製到C:\Windows\System32裡面。

  2. 最後執行沒有錯誤:
    在這裡插入圖片描述

軟體的安裝還是需要多貼一些圖,別人說的簡單,自己有時候真的找不到在哪裡~org