我正在使用Windows 10和Visual Studio 2015.在C ++中,我需要获取应用滤镜的图像的傅立叶变换。 看来FFTW ++是这个理想的解决scheme,但是我不能把它编译出来,而且它让我很生气。 我对编程比较陌生,所以我不知道这是多么的尴尬。
我使用Visual Studio中的NuGet函数来获取FFTW库。 由于在NuGet上找不到它,我从下面的链接下载了FFTW +的内容: https ://sourceforge.net/projects/fftwpp/我将下载的内容复制到项目文件夹中,并将头文件包含在解决scheme资源 但是它没有编译,抛出许多奇怪的错误(例如:在seconds.h中,它表示某些函数获取时区已经过时,而在fftww ++。h中则表示std :: max是非法的) 。
所以在看到这不起作用后,我回到了FFTW网站,并尝试使用Windows安装指南。 http://www.fftw.org/install/windows/我下载了64位版本,我完全不知道如何做库导入的事情,甚至是什么。 i.imgur.com/Qs7mFQT.png这是我得到的,我完全失去了。
我怎样才能编译? 如果可以的话,请尽可能详细的给我解释一下如何使用这个东西,我可能是愚蠢的,但我实际上不知道发生了什么事情,在Google上找不到任何教程。
Visual Studio 2013中的Windows XP和Windows Server 2003支持
如何阻止Visual Studiodebugging器在遇到断点时聚焦窗口?
我可以在Windows 8.1设备上开发Windows 10应用程序吗?
Visual Studio 2012适用于C(而非C ++)专业编程吗?
作为独立开发者许可微软软件的最佳方式
驱动程序在解决scheme中部署驱动程序时发生testing错误:系统找不到指定的文件
WinDBG适用于从Visual Studio 2015中保存的转储,但不是任务pipe理器。 显示exception代码“找不到”
使用(和导出)boost :: shared_ptr <T>时出错C2562
SGemm结果不一致
获得64bit预编译的FFTW 3.3.5 Windows DLL
从fftw-3.3.5-dll64.zip下载
解压该文件。
创建导入库 (.lib文件)
官方的FFTW说明在这里 。
有关如何将DLL链接到Visual Studio C ++程序的背景,请参阅MSDN文章将可执行文件链接到DLL,特别是关于隐式链接的部分很有帮助。
在解压缩位置,README-WINDOWS也是有帮助的。
导航到开始 – > 所有应用程序 – > Visual Studio 2015 – > 开发人员命令提示符
在我的机器上,位置是C: Program Files(x86) Microsoft Visual Studio 14.0 Common7 Tools VsDevCmd.bat
导航到解压缩位置并键入
lib /machine:x64 /def:libfftw3-3.def
(对于单精度或长双精度使用libfftw3f-3.def或libfftw3l-3.def)
这将产生libfftw3-3.lib
注意这是为x64。
打开Visual Studio并创建一个C ++控制台应用程序
创建一个C ++控制台应用程序
接受所有的默认设置
将解决方案平台设置为x64
(从这个 SO回答。)
添加额外的包含目录。 这将是解压缩的位置。
(或者,.h文件可以复制到Visual Studio项目文件夹中。)
告诉Visual Studio在哪里找到FFTW导入库。
右键单击该项目并选择属性。
添加额外的库目录。 这将是解压缩的位置。
添加其他依赖项。 输入之前创建的.lib文件(libfftw3-3.lib)。
创建一个示例程序
(从FFTW教程 。)
#include "stdafx.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; }
编
告诉Windows从哪里可以找到FFTW DLL最简单的方法是将FFTW DLL(libfftw3-3.dll)从解压缩位置复制到Visual Studio输出文件夹。
在Visual Studio中,右键单击解决方案,然后选择在文件扩展器中打开文件夹 。
导航到.exe输出文件夹(例如fftw_helloworld2 x64 Debug)
复制DLL libfftw3-3.dll
运行/调试
设置一个断点
按F5或
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。