有两种可能:
一.using namespace cv和windows中的名称冲突
建议不要使用using namespace cv, 改用cv::Mat;
二#include头文件重复
原本打算尝试上述方法,但工程实在过大,于是在将导致该问题的A.cpp文件分段注释的过程中,发现在添加了#include <windows.h>语句后报错。A.cpp中包含了很多自定义的头文件例如B.h,C.h,D.h等,其中应该某个文件包含了using namespace cv;但是协作工作,改动他人代码很麻烦。
解决方法如下:将需要#include <windows.h>的函数和#include <windows.h>单独放在E.cpp, 函数接口放在E.h,A.cpp只包含E.h即可,这样就不会出现两者的冲突问题。