2015-07-06 90 views
0

我試圖在視覺工作室2013與Windows 7/8.1操作系統(我的工作計算機操作sysyem /和我的個人計算機操作系統)使用FFTW庫和建築FFTW庫已按照所描繪的說明here使用Visual Studio的lib.exe工具構建庫。到目前爲止,我一直在使用庫進行試驗,當我在DEBUG模式下運行我的程序時,但是當我試圖在RELEASE模式下運行我的程序時,我得到了所有我稱之爲fftw函數的LNK2001錯誤。在「發佈模式」

1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_free 
1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_execute 
1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_cleanup 
1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_plan_dft_2d 
1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_alloc_complex 
1>runexample.obj : error LNK2001: unresolved external symbol __imp_fftwf_destroy_plan 

我在網上搜索到了解決這個問題,FFTW諮詢documentation,但我還沒有找到任何答案。有沒有辦法建立或鏈接針對fftw的「發佈」庫或正在做其他問題?

感謝

+1

這些都是導入庫(由'__imp_'前綴表示)。沒有「調試」導入庫或「發佈」導入庫這樣的事情。導入庫僅包含存在於DLL或其他可執行文件中的函數的存根。所以也許問題在於你沒有將導入庫添加到你的項目的'釋放'模式? – PaulMcKenzie

+0

謝謝,原來我沒有在配置管理器中指定它們,我想它在調試中生成時確實沒問題。但是當我添加這些庫時,它在我想要構建發行版時可以正常工作 –

回答

0

FFTW不「釋放」和「調試」導入庫區分。有一組隨FFTW提供的庫可用於「發佈」和「調試」構建。

「調試」和「釋放」模式之間的連接問題庫的一個常見原因是該配置僅被應用於「調試」模式,而不是也向「釋放」模式。在「調試」模式下,編譯器通常比較鬆弛,並且錯誤可能會通過,而不會處於「釋放」模式。