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所在的文件夹中。