我一直试图用fftw来链接我的项目,到目前为止,我已经得到它来编译,并完成链接的“传递1”,但没有完成。正如FFTW网站所说,我生成了所有.lib文件,并将它们复制到C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ lib \ amd64(因为我正在编译x64,并且此目录包含在我的库目录),项目中的.h文件以及项目可执行文件目录中的.dll文件。Visual Studio 2010中的FFTWI
我复制atutorial程序,我得到确切的错误是:
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_free referenced in function "int __cdecl fftw(void)" ([email protected]@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_destroy_plan referenced in function "int __cdecl fftw(void)" ([email protected]@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_execute referenced in function "int __cdecl fftw(void)" ([email protected]@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_plan_dft_1d referenced in function "int__cdecl fftw(void)" ([email protected]@YAHXZ)
1>fftw_test.obj : error LNK2019: unresolved external symbol __imp__fftw_malloc referenced in function "int__cdecl fftw(void)" ([email protected]@YAHXZ)
我已经试过:
Project -> Properties -> Linker -> Input -> Additional dependencies
包含libfftw3-3.lib
和 dumpbin/exports libfftw3-3.lib generated _fftw_free _fftw_destroy_plan 和其他无法解决的功能。
是因为它在寻找__imp_fftw_functionname,它只能找到_fftw_functionname函数?
不管怎样,也许这将有助于太:在通1,几次它说 搜索C:\ VC \ LIB \ AMD64 \ libfftw3-3.lib: 但它从来不说 “发现”,“引用“或”加载“,就像它为其他库一样。
你实际复制第三方库到Visual Studio安装目录?更好的方法是在* Linker - > General - > Additional Library Directories *中输入库路径,然后按照您已经完成的方式在* Additional Dependencies *中输入库名称。 – Praetorian 2012-04-20 19:29:54
___imp_前缀用于声明__declspec(dllimport)的符号。 – SChepurin 2012-04-20 21:43:44