我一直在尝试将我的项目与 fftw 链接,到目前为止,我已经对其进行了编译,并完成了“通过 1”的链接,但没有完成。正如 FFTW 网站所说,我生成了所有 .lib 文件,并将它们复制到 C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\amd64 (因为我正在为 x64 编译,并且这个目录包含在我的库目录),我的项目中的 .h 文件和我的项目可执行文件目录中的 .dll 文件。
我复制了教程程序,我得到的确切错误是:
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_free referenced in function "int __cdecl fftw(void)" (?fftwt@@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_destroy_plan referenced in function "int __cdecl fftw(void)" (?fftwt@@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_execute referenced in function "int __cdecl fftw(void)" (?fftwt@@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_plan_dft_1d referenced in function "int__cdecl fftw(void)" (?fftwt@@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_malloc referenced in function "int__cdecl fftw(void)" (?fftwt@@YAHXZ)
我试过了:
Project -> Properties -> Linker -> Input -> Additional dependencies
包含 libfftw3-3.lib
而dumpbin /exports libfftw3-3.lib 生成_fftw_free _fftw_destroy_plan 等无法解析的函数。
是因为它正在寻找 __imp_fftw_functionname 并且它只找到 _fftw_functionname 函数吗?
无论如何,也许这也会有所帮助:在第 1 阶段,它多次显示 Searching C:...\VC\lib\amd64\libfftw3-3.lib: 但它从未显示“找到”、“引用”或“已加载” “就像它对其他图书馆所做的那样。