VS中生成了DLL,调用运行时报错了,求解。
我用的是一个很简单的例子,
先进行canny边缘检测,然后再用houghtransform检测直线。
生成DLL后,我在LabVIEW平台下进行调用。
报错信息如下:
Debug Assertion Failed!
Program:D:\…\…\…\…\LabVIEW.exe
File:f:\dd\vctools\srt_bld\self_x86\crt\src\dbgheap.c (这个文件看不到啊???)
Line:1322
Expression: _crtIsvalidHeapPointer(pUserData)
还有一个报错是:Expression :_pFirstBlock==pHead
For information on how your program can cause an assertion failure,see
the visual c++ documentation on asserts.
(pressretry to debug the application)
如果我屏蔽了houghtransform这句的话,运行是正常的,不会像上面这样报错。
这就说明错误出在直线检测这一段。
但这一段是OPENCV自带的,怎么会出错呢?
或者是我哪里推理错误了啊?
求各路朋友指点。
[解决办法]
把 houghtransform 的函数从opencv源码拷贝到你的dll程序里面,然后把函数改个名称(比如houghtransform1())调用试下