因缺少mfc库,引发opencv库在VS2017 debug下的内存泄漏

  • 环境​​​​​​​

windows10

vs2017

opencv2.412

  • 问题概述

基于MFC对话框工程,增加使用opencv函数的cpp文件。cpp文件【预编译头】选择【不使用预编译头】的情况下,在debug环境下运行如下图

因缺少mfc库,引发opencv库在VS2017 debug下的内存泄漏

  • 解决办法

引入mfc库

#ifndef _MFC_FILENAME_VER
#define _MFC_FILENAME_VER "140"
#endif
#ifndef _UNICODE
#ifdef _DEBUG
#pragma comment(lib, "mfc" _MFC_FILENAME_VER "d.lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER "d.lib")
#else
#pragma comment(lib, "mfc" _MFC_FILENAME_VER ".lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER ".lib")
#endif
#else
#ifdef _DEBUG
#pragma comment(lib, "mfc" _MFC_FILENAME_VER "ud.lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER "ud.lib")
#else
#pragma comment(lib, "mfc" _MFC_FILENAME_VER "u.lib")
#pragma comment(lib, "mfcs" _MFC_FILENAME_VER "u.lib")
#endif
#endif