CvvImage"C2872"错误,程序突然出现这个错误,不知道为什么,刚以为是OpenCV在VS下的配置问题,不过配置很多次后仍然提示错误,最后终于在网上找到一个能解决这个问题的方法。方法中说“是CImage类和OpenCV中的某个类起了冲突”,不管怎么样,修改之后,确实没有提示错误。
方法如下:
修改OpenCV的代码,去掉其中对于CImage的定义。
打开:\OpenCV\_make\opencv.sln工程
在highgui.h行438,注释掉“#define CImage CvvImage”
在image.cpp行236处,将void CImage::DrawToHDC( HDC hDCDst, RECT* pDstRect ) 改为
void
然后重新编译,把调用opencv CImage的地方改为CvvImage就可以了,有可能有个别工程编不通,如果不是由于修改引起的就没有问题。
OpenCV中#define CImage CvvImage不是已经可以将CImage用CvvImage代替可吗,不知道为什么非要这样改。不过修改后还确实解决了这个问题。