Visual Studio 2012中的FFTW链接

问题描述:

我在64位操作系统上使用Visual Studio 2012。我试图在程序中使用FFTW,但是在获取库链接时遇到问题。Visual Studio 2012中的FFTW链接

我从FFTW Windows页面下载了64位软件包。我按照这些步骤:

  • lib /machine:x64 /def:libfftw3-3.def
  • lib /machine:x64 /def:libfftw3f-3.def
  • lib /machine:x64 /def:libfftw3l-3.def

这创造了.EXP和.lib文件。

我加入了路径的所有文件中:

Properties -> Debugging -> Environment Properties -> VC++ Directories -> Include Directories Properties -> C/C++ -> General -> Additional Include Directories Properties -> Linker -> General -> Additional Library Directories

我加.lib文件到属性 - >链接器 - >输入 - >附加依赖

我添加以下行我的代码的顶部:

#define FFTW_DLL 
#include <fftw3.h> 

然后我把示例代码从FFTW教程到我的代码,如下所示:

fftw_complex *in; 
fftw_complex *out; 

fftw_plan p; 

in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*L); 
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)*L); 
p = fftw_plan_dft_1d(L, in, out,FFTW_FORWARD,FFTW_MEASURE); 

fftw_execute(p); 
fftw_destroy_plan(p); 
fftw_free(in); 
fftw_free(out); 

当我再尝试建立我的申请,我得到以下错误:

Error 1 error LNK2019: unresolved external symbol __imp__fftw_execute referenced in function _wmain C:\EEG_Hardware\source\dspApp\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1 1 ConsoleApplication1 
Error 2 error LNK2019: unresolved external symbol __imp__fftw_plan_dft_1d referenced in function _wmain C:\EEG_Hardware\source\dspApp\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1 1 ConsoleApplication1 
Error 3 error LNK2019: unresolved external symbol __imp__fftw_destroy_plan referenced in function _wmain C:\EEG_Hardware\source\dspApp\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1 1 ConsoleApplication1 
Error 4 error LNK2019: unresolved external symbol __imp__fftw_malloc referenced in function _wmain C:\EEG_Hardware\source\dspApp\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1 1 ConsoleApplication1 
Error 5 error LNK2019: unresolved external symbol __imp__fftw_free referenced in function _wmain C:\EEG_Hardware\source\dspApp\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1 1 ConsoleApplication1 
Error 6 error LNK1120: 5 unresolved externals C:\EEG_Hardware\source\dspApp\ConsoleApplication1\Debug\ConsoleApplication1.exe ConsoleApplication1 

我已经通过这个网站进行搜索,尝试任何解决方案,我可以找到,但至今没有运气。任何援助将不胜感激!

我也使用你的程序,但它并没有完全为我工作。

我通过复制修改的过程中,.EXP和.lib文件,前代的文件

msobj100.dll 
mspdb100.dll 
mspdbcore.dll 
mspdbsrv.exe 

,你可以在C发现:\程序文件(x86)\微软的Visual Studio 10.0 \ Common7 \ IDE目录。

此外,我最终将这三个.dll文件复制到项目的.vcxproj和.vcxproj.filters所在的文件夹中。