一、概述
背景:Qt+OpenCV一模一样的代码在Mac上运行是正常的,在Windows10上运行就会报一下错误。
“ACCESS_MASK”: 不明确的符号
二、原因及解决方案
原因:OpenCV4.5.3的命名空间using namespace cv;和windows中的ACCESS_MASK定义冲突,在windows.h头文件中。
在OpenCV4.5.3中其他的都还好,挺正常的。就是用到QOpenGlWidget的时候出现了问题,但是在QOpenGLWidget中的中并未找到windows.h头文件。
于是接着从继承关系中找,终于在qopengl.h头文件中找到了qt_windows.h
解决办法:
1.换mac环境或者Linux环境
2.删除using namespace cv; 使用时直接使用cv::,例如:cv::Mat,cv::waitKey(0)等
Windows10+Qt+OpenCV出现“ACCESS_MASK”: 不明确的符号