fftw在windows下的配置問題
阿新 • • 發佈:2019-02-05
fftw在mac下參照官網很容易配置,但是windows下出現了問題。
首先,從fftw官網下載相應的fftw版本(我的是64位),解壓。
接下來開啟vs(我的是vs2015)的開發者CMD,官網是執行以下命令
lib /def:libfftw3-3.def
lib /def:libfftw3f-3.def
lib /def:libfftw3l-3.def
但是出現了以下錯誤
忽視了個警告,也能生成所說的lib檔案和exp檔案,但是這些檔案之後不能正確使用。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
網上查了一大圈,發現了需要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檔案的檔名加進去。
最後編譯,成功!