1. 程式人生 > >fftw在windows下的配置問題

fftw在windows下的配置問題

fftw在mac下參照官網很容易配置,但是windows下出現了問題。

首先,從fftw官網下載相應的fftw版本(我的是64位),解壓。

接下來開啟vs(我的是vs2015)的開發者CMD,官網是執行以下命令

lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def

但是出現了以下錯誤
C:\fftw-3.3.5-dll64>lib /def:libfftw3-3.def
Microsoft (R) Library Manager Version 14.00.23506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : warning LNK4068: /MACHINE not specified; defaulting to X
   Creating library libfftw3-3.lib and object libfftw3-3.exp

C:\fftw-3.3.5-dll64>lib /def:libfftw3f-3.def
Microsoft (R) Library Manager Version 14.00.23506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : warning LNK4068: /MACHINE not specified; defaulting to X
   Creating library libfftw3f-3.lib and object libfftw3f-3.exp

C:\fftw-3.3.5-dll64>lib /def:libfftw3l-3.def
Microsoft (R) Library Manager Version 14.00.23506.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : warning LNK4068: /MACHINE not specified; defaulting to X
   Creating library libfftw3l-3.lib and object libfftw3l-3.exp
忽視了個警告,也能生成所說的lib檔案和exp檔案,但是這些檔案之後不能正確使用。

網上查了一大圈,發現了需要specify /MACHINE 這個選項(沒好好看警告訊息),執行以下命令正確的生成了lib檔案:

lib /def:libfftw3-3.def /MACHINE:X64
lib /def:libfftw3f-3.def /MACHINE:X64
lib /def:libfftw3l-3.def /MACHINE:X64
成功執行後出現以下資訊:

Creating library libfftw3-3.lib and object libfftw3-3.exp

然後將生成好的lib檔案和fftw3.h檔案新增到程式碼所在的資料夾下(一些人說dll要拷貝到執行資料夾下,但是貌似不需要)

接下來,在專案屬性→連結器→輸入→附加依賴項把三個lib檔案的檔名加進去。

最後編譯,成功!