问题:Vs 使用openCV 3.0+ 出错error C2872: “ACCESS_MASK”: 不明确的符号
环境:
系统:Win7
环境:VS2015 64bit
原因: 是因为我项目中的其中一个头文件(.h)中使用了using namspace cv
空间命名,但是我在源文件中又引用了系统头文件#include<windows.h>
,这样就会导致了冲突。原因是他们俩中都有ACCESS_MASK
定义,所以就会导致该变量不明确,就会报错。
解决1:
最方便的解决办法可能就是,将所有的头文件(.h)中的using namespace cv
都去掉,然后将需要用到的地方用cv::
代替。然后将using namespace cv
放入到cpp文件中,在cpp文件中不会导致冲突。所以就只会在.h文件中麻烦一点。
我的解决:我将用到的#include<windows.h>的代码单独建立一个程序,调用其他程序即可;
后面发现其实可以不使用这个头文件;还是当一个小知识记录下吧