我正在使用此处找到的离散小波变换 (DWT) 库寻求一些帮助:wavelet2d.sourceforge.net/
问题是运行时错误,它发生在 DWT 函数调用中。它似乎与函数调用中的长度向量有关。我想指出,这段代码是按原样发布的,据报道是由麻省理工学院的博士后工作的。我很确定这个错误是由于我做错了什么。我为 Microsoft Visual Studio 2013 创建了一个项目文件,我将其包含在此处:skydrive.live.com/redir?resid=DF1EA4AE66DE04A3%21128
注意:我将两个 dll 文件放在 system32 文件夹中,.lib 文件包含在链接到 dll 的 MSVC++ 项目文件中。我使用了发布 dll,但使用调试文件得到了相同的结果。signal.txt 被wavedem1.cpp 工程文件使用并对其进行操作。
该错误很容易生成,但这是我得到的未处理异常:“WaveletCode.exe 中 0x7555D36F 的未处理异常:Microsoft C++ 异常:内存位置 0x002EF574 处的 std::length_error。”</p>
这是调用堆栈: http: //img198.imageshack.us/img198/4306/9jdl.jpg 看起来第 65 行导致了 DWT 函数调用的问题。我试图查看 MSVC++ 2013 中的“中间窗口”,但在执行过程中它是空的。
还有更多来自 MSVC++:
'WaveletCode.exe' (Win32): Loaded 'C:\Users\Matt\Desktop\WaveletCode\Debug\WaveletCode.exe'. Symbols loaded.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\wavelet2d.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\libfftw3-3.dll'. Module was built without symbols.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\msvcp100d.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\msvcr100d.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\msvcp120d.dll'. Cannot find or open the PDB file.
'WaveletCode.exe' (Win32): Loaded 'C:\Windows\System32\msvcr120d.dll'. Cannot find or open the PDB file.
First-chance exception at 0x644921A9 (wavelet2d.dll) in WaveletCode.exe: 0xC0000005: Access violation reading location 0x9F8ED620.
Unhandled exception at 0x644921A9 (wavelet2d.dll) in WaveletCode.exe: 0xC0000005: Access violation reading location 0x9F8ED620.
The program '[5532] WaveletCode.exe' has exited with code 0 (0x0).
最终目标是在一些 DSP 的微控制器上使用这个库。感谢您提供的任何帮助/建议。如果您需要更多信息,请询问我对此比较陌生。
谢谢你。