簡體   English   中英

Windows 64位上的fftw3

[英]fftw3 on windows 64-bit

我想在Windows-64位上使用FFTW3。 我按照FFTW網站上的說明進行操作 :下載包,解壓縮,運行lib.exe創建.lib“導入庫”。

這樣做之后,我構建了我的應用程序(使用32位FFTW3 dll可以很好地運行),並且出現以下錯誤:

1> pyramidTransform.obj:錯誤LNK2019:函數“ int __cdecl fourier2spatialband1(int,int,float *,float ,double( )[2],double( )[2],double( )[2]”中引用的未解析的外部符號__imp_fftw_destroy_plan )”(?fourier2spatialband1 @@ YAHHHPEAM0PEAY01N11 @ Z)1> pyramidTransform.obj:錯誤LNK2019:函數“ int __cdecl fourier2spatialband1(int,int,float *,float ,double(double [)[2]中未解析的外部符號__imp_fftw_execute引用[2] )[2],double( )[2])“(?fourier2spatialband1 @@ YAHHHPEAM0PEAY01N11 @ Z)1> pyramidTransform.obj:錯誤LNK2019:未解析的外部符號__imp_fftw_plan_dft_2d在函數” int __cdecl fourier2spatialflo1at(int ,, float ,double( )[2],double( )[2],double( )[2])“(?fourier2spatialband1 @@ YAHHHPEAM0PEAY01N11 @ Z)1> pyramidTransform.obj:錯誤LNK2019:函數”中引用的未解析外部符號__imp_fftw_free int __cdecl分解(int,int,float *,int,int,float * *,float * *,float *,float * * *,float * * *,float * *,float * *)“(?decompose @@ YAHHHPEAMHHPEAPEAM10PEAPEAPEAM211 @ Z)1> pyramidTransform.obj:錯誤LNK2019:函數“ int __cdecl decompose(int,int,float *,int,int,float * *,float)中引用的未解析的外部符號__imp_fftw_malloc * *,float *,float * * *,float * * *,float * *,float * *)“(?decompose @@ YAHHHPEAMHHPEAPEAM10PEAPEAPEAM211 @ Z)

其他依賴項的屬性窗格清楚地表明,我正在鏈接到libfftw3-3.lib(在上面創建)。

我怎樣才能知道要鏈接到哪個Visual Studio? 在Windows 64位版本中,有人對FFTW-3感到幸運嗎?

我發現了問題。 使用FFTW3,由於作者已經為Windows編譯了DLL,因此您需要從提供的.def文件中創建導入庫(.lib)文件。 為此,請轉到Visual Studio 2008命令提示符:

lib /def:libfftw3-3.def

Microsoft(R)庫管理器版本9.00.21022.08版權所有(C)Microsoft Corporation。 版權所有。

LINK:警告LNK4068:/ MACHINE未指定; 默認為X64
創建庫libfftw3f-3.lib和對象libfftw3f-3.exp

問題是,當我第一次創建這些.lib文件時,我必須啟動了錯誤的命令提示符。

可以在FFTW Windows 網站上找到更多說明。

同樣重要的是要注意,如果您按照上述網站上的步驟進行操作,則需要從不需要管理員權限的文件夾中運行命令。 這樣,您就可以獲取.lib文件。 然后,只需將它們復制到VS lib文件夾中 ,即可開始使用。

您要鏈接到庫的64位版本,不是嗎? 您說過,它可以與FFTW3 32位DLL一起正常運行,因此聽起來您正在使用32位庫。 64位版本不能鏈接到32位庫(或與此相關的32位DLL)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM