在opencv3.1中调用模拟按键SetCursorPos,会出现错误 C2872 ACCESS_MASK不明确
解决方法:
头文件将原来的
#include<windows.h>
#pragma comment(lib, "user32.lib")
修改为
#define _AFXDLL
#include<afxwin.h>
此时,opencv可以照常使用using namespace cv;
附:有网友是这样说的:
在winnt.h里面有一个cv的命名空间,同样定义了一个ACCESS_MASK,跟opencv的cv::ACCESS_MASK发生了冲突!!!
该冲突在MFC中没有出现,在控制台程序中才会报错, -_-!这是因为预编译头stdafx.h,加入了Windows SDK的引用,从而引用了winnt.h
对于opencv 2.x版本,不存在该问题。但如果是opencv3.0,请不要在代码中使用using namespace cv; 乖乖地在每一个opencv函数前加上cv::吧。当然,这仅限于开发平台为VS的情况