MFC中使用opencv内存泄漏问题-解决
MFC中使用opencv会误报大量内存泄漏,因为是误报,理论上不用管它就可以。
但是运行结束后的大量内存泄漏信息,看着心烦,还可能掩盖真正的内存泄漏,使其无法被发现。
网上找了几个方法,最简单的就是下面这个方法:
采取dll延迟加载技术
因为mfc下误报内存泄露主要是由于opencv dll先加载导致,因此只需要延迟加载即可。
仅针对debug模式,点击VC++项目属性,进入属性页,依次找到通用属性、链接器、输入、延迟加载的DLL选项,然后把OpenCV的bin文件下的所有dll的名称添加到延迟加载的DLL中。添加完之后,点击确定,然后再重新编译一下程序,就没有内存泄漏出现了。
一般简单的opencv程序,常用的就是这三个dll
opencv_core248d.dll;opencv_highgui248d.dll;opencv_imgproc248d.dll