问题: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>的代码单独建立一个程序,调用其他程序即可;

后面发现其实可以不使用这个头文件;还是当一个小知识记录下吧

 
01-13 14:50
查看更多