【发布时间】:2020-02-17 13:48:17
【问题描述】:
我尝试制作一个从 IQ 数据计算 FFTW 的程序。 Windows 10 64 位。 Qt Creator 4.8.2 基于 Qt 5.12.2(MSVC 2015,32 位) 使用时程序崩溃了
fftw_plan_dft_1d(N, in, out, FFT_FORWARD, FFTW_ESTIMATE);
我下载了fftw-3.3.5-dll64和dll32,结果都一样。
.pro
INCLUDEPATH += $$PWD/fftw-3.3.5-dll32
QMAKE_LIBDIR += $$PWD/fftw-3.3.5-dll32
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3-3
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3f-3
LIBS += $$PWD/fftw-3.3.5-dll32/ -llibfftw3l-3
.cpp
include "fftw3.h"
int main()
{
int N;
fftw_complex *in, *out;
fftw_plan myPlan;
in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)* N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex)* N);
fftw_plan_dft_1d(N, in, out, FFT_FORWARD, FFTW_ESTIMATE); //this line crashed the program.
fftw_execute(myPlan);
fftw_destroy_plan(myPlan);
fftw_free(in);
fftw_free(out);
}
我希望有人可以帮助我。 谢谢。
【问题讨论】:
-
你永远不会初始化
N。 -
是的。在这种情况下,这是基本示例。但在完整的项目中,我让 N 初始化并崩溃
-
请编辑您的问题以显示可用于重现问题的真实代码(最好是minimal reproducible example)。