错误:"ACCESS_MASK":不明确的符号
错误原因:
opencv的using namespace cv和windows.h中ACCESS_MASK定义冲突。
解决方案:
解决方案一:将项目中的所有using namespace cv;和using namespace dnn;都删除,利用cv::和cv::dnn::替换所需cv的类型,例如将Mat替换为cv::Mat,将Net替换为cv::dnn:Net。(最好的方法是养成写代码不用using namespace ....的习惯!)
解决方案二:
(1)首先将需要#include <windows.h>的函数单独放在E.cpp, 函数接口和#include <windows.h>放在E.h,A.cpp只包含E.h即可,这样就不会出现两者的冲突问题。
(2)然后将所有的头文件(.h)中的using namespace cv
都去掉,将需要用到的地方用cv::
代替。再将using namespace cv
放入到cpp文件中,在cpp文件中不会导致冲突。
可以试试:
把windows.h 放到前面引用试试。