Windows10+Qt+OpenCV出现“ACCESS_MASK”: 不明确的符号

发布时间 2023-11-29 14:35:33作者: 飘杨......

一、概述

  背景: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)等