Visual Studio 中的 fftw?

Nat*_*ons 3 c++ linker-errors visual-studio fftw

我正在尝试将我的项目与 fftw 链接,到目前为止,我已经编译它,但没有链接。正如该网站所说,我生成了所有 .lib 文件(即使我只使用双精度),并将它们复制到C:\Program Files\Microsoft Visual Studio 9.0\VC\lib,将 .h 文件复制到C:\Program Files\Microsoft Visual Studio 9.0\VC\include,将 .dll 文件复制到C:\windows\system32

我已经复制了教程程序,我得到的确切错误是:

1>hw10.obj : error LNK2019: unresolved external symbol __imp__fftw_free referenced in function "bool __cdecl test(void)" (?test@@YA_NXZ)
1>hw10.obj : error LNK2019: unresolved external symbol __imp__fftw_destroy_plan referenced in function "bool __cdecl test(void)" (?test@@YA_NXZ)
1>hw10.obj : error LNK2019: unresolved external symbol __imp__fftw_execute referenced in function "bool __cdecl test(void)" (?test@@YA_NXZ)
1>hw10.obj : error LNK2019: unresolved external symbol __imp__fftw_plan_dft_1d referenced in function "bool __cdecl test(void)" (?test@@YA_NXZ)
1>hw10.obj : error LNK2019: unresolved external symbol __imp__fftw_malloc referenced in function "bool __cdecl test(void)" (?test@@YA_NXZ)
Run Code Online (Sandbox Code Playgroud)

那么,我的项目设置可能存在什么问题?谢谢!

小智 5

我的情况

FFTW在 Visual Studio 2010 中使用

使用 fftw-3.2.1-dll.zip 在我的 Windows XP 计算机上安装预编译的 FFTW 3.3.1 Windows DLL。

  1. 打开cmd窗口并转到lib.exe文件夹C:\Program Files\Microsoft Visual Studio 10.0\VC\bin>
  2. 类型lib /def:libfftw3-3.def
  3. 类型lib /def:libfftw3f-3.def
  4. 类型lib /def:libfftw3l-3.def
  5. 如果命令出错,请将任何mspdb80.dllmspdb100.dll文件复制到 bin 目录中。
  6. 您将获得6个文件

    libfftw3-3.exp、libfftw3-3.lib、libfftw3f-3.exp、libfftw3f-3.lib、libfftw3l-3.exp 和 libfftw3l-3.lib

    并将其复制到编程目录。

  7. 删除 bin 目录中的所有mspdb80.dllmspdb100.dll文件。

  8. 关闭项目并再次打开并再次重建。