以下是我在 64 位计算机上尝试安装和使用 Visual Studio 2017 中的 FFTW 的操作:
- 从以下位置安装 fftw-3.3.5-dll64.zip这一页
- 从文件>新项目创建一个名为 fftw_helloworld 的新“Windows 控制台应用程序”。所有设置均使用默认设置,包括“为解决方案创建目录”框。
打开 VS 2017 的开发人员命令提示符,导航到包含 fftw 文件的解压文件夹并运行
lib /def:libfftw3-3.lib
在 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。
我运行了这个代码:
#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; }
我收到系统错误“由于未找到 libfftw3-3.dll,因此无法继续执行代码。重新安装程序可能会修复此问题”。我关闭了 VS,重新打开了项目,清理了它,然后重建了它,但还是没用。
在 Stack Exchange 上搜索后,我发现一个潜在的解决方案是将 libfftw3-3.dll 添加到包含 fftw_helloworld.exe 的文件夹中,我这样做了,错误变为“应用程序无法正确启动 (0xc000007b)。单击“确定”关闭该应用程序。”
我被困在这里,我不知道如何解决这个问题,我需要 FFTW 才能继续。
答案1
我遇到了同样的问题。转到属性 -> 构建事件 -> 构建后事件 -> 命令行并添加此命令:xcopy /d /y "$path to your .dll files*.*" "$(TargetDir)"