error C2872: “ACCESS_MASK”: 不明确的符号--解决方法【opencv+vs2015】

在vs2015中加入了VTK用于显示点云库,不知道为什么就开始报错:

detail解决方案:https://blog.csdn.net/qq_32979597/article/details/88130868

可以看到就是winnt.h和mat.hpp打架。其中winnt属于系统库,不太好改。按照大家的说法加上cv::Mat麻烦又无用,mat.hpp该编译还是要编译,逃不过去的

C:\Program Files (x86)\Windows Kits\8.1\Include\um\winuser.h(1526): error C2872: “ACCESS_MASK”: 不明确的符号 (编译源文件 QtGui.cpp)
1>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h(9091): note: 可能是“DWORD ACCESS_MASK” (编译源文件 QtGui.cpp)
1>  D:\opencv420\hw\QtGui\3rdparty\opencv\include\opencv2/core/mat.hpp(65): note: 或  “cv::AccessFlag ACCESS_MASK” (编译源文件 QtGui.cpp)
1>C:\Program Files (x86)\Windows Kits\8.1\Include\um\winreg.h(89): error C2872: “ACCESS_MASK”: 不明确的符号 (编译源文件 QtGui.cpp)
1>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h(9091): note: 可能是“DWORD ACCESS_MASK” (编译源文件 QtGui.cpp)
1>  D:\opencv420\hw\QtGui\3rdparty\opencv\include\opencv2/core/mat.hpp(65): note: 或  “cv::AccessFlag ACCESS_MASK” (编译源文件 QtGui.cpp)

 

通过观察错误信息,可以发现ACCESS_MASK在mat.hpp中只出现了一次

error C2872: “ACCESS_MASK”: 不明确的符号--解决方法【opencv+vs2015】_第1张图片

因此我直接在后面加了一个CV(主要是我配置了项目的第三方库,并不针对整个机器的opencv,也敢作)

error C2872: “ACCESS_MASK”: 不明确的符号--解决方法【opencv+vs2015】_第2张图片

编译通过。

官方解释:https://docs.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-2/compiler-error-c2872

你可能感兴趣的:(#工具使用,学习笔记)