在 VS2017 中将包含的文件夹添加到“附加依赖项”后,尝试查找 libfftw3-3.dll 时出现错误

在 VS2017 中将包含的文件夹添加到“附加依赖项”后,尝试查找 libfftw3-3.dll 时出现错误

以下是我在 64 位计算机上尝试安装和使用 Visual Studio 2017 中的 FFTW 的操作:

  1. 从以下位置安装 fftw-3.3.5-dll64.zip这一页
  2. 从文件>新项目创建一个名为 fftw_helloworld 的新“Windows 控制台应用程序”。所有设置均使用默认设置,包括“为解决方案创建目录”框。
  3. 打开 VS 2017 的开发人员命令提示符,导航到包含 fftw 文件的解压文件夹并运行lib /def:libfftw3-3.lib

  4. 在 Project>fftw_helloworld Properties>C/C++>General>Additional Include Directories 中,我添加了包含 fftw 文件的文件夹。我在 Project>fftw_helloworld Properties>Linker>General>Additional Library Directories 中执行了相同操作。在 Project>fftw_helloworld Properties>Linker>Input>Additional Dependencies 中,我添加了 libfftw3-3.lib。

  5. 我运行了这个代码:

    #include "pch.h"
    #include <fftw3.h>
    
    int main()
    {
    fftw_complex *in, *out;
    fftw_plan p;
    
    int N = 32;
    
    in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
    out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * N);
    p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
    
    fftw_execute(p); /* repeat as needed */
    
    fftw_destroy_plan(p);
    fftw_free(in); fftw_free(out);
    
    return 0;
    }
    
  6. 我收到系统错误“由于未找到 libfftw3-3.dll,因此无法继续执行代码。重新安装程序可能会修复此问题”。我关闭了 VS,重新打开了项目,清理了它,然后重建了它,但还是没用。

  7. 在 Stack Exchange 上搜索后,我发现一个潜在的解决方案是将 libfftw3-3.dll 添加到包含 fftw_helloworld.exe 的文件夹中,我这样做了,错误变为“应用程序无法正确启动 (0xc000007b)。单击“确定”关闭该应用程序。”

  8. 我被困在这里,我不知道如何解决这个问题,我需要 FFTW 才能继续。

答案1

我遇到了同样的问题。转到属性 -> 构建事件 -> 构建后事件 -> 命令行并添加此命令:xcopy /d /y "$path to your .dll files*.*" "$(TargetDir)"

相关内容