Win10+VS2017+Kinect+opencv环境配置

https://blog.csdn.net/iamubbting/article/details/78468341

https://blog.csdn.net/lizhiguo18/article/details/51037672

做完以上步骤,在包含kinect的头文件#include"NuiApi.h"时,报一下错误

>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): error C2144: 语法错误:“int”的前面应有“;”
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): error C2146: 语法错误: 缺少“;”(在标识符“NuiInitialize”的前面)
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(47): error C2065: “DWORD”: 未声明的标识符
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(48): error C2146: 语法错误: 缺少“)”(在标识符“dwFlags”的前面)
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(53): error C2144: 语法错误:“int”的前面应有“;”
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(53): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(53): error C2146: 语法错误: 缺少“;”(在标识符“NuiShutdown”的前面)
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(54): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(77): error C2065: “SEVERITY_ERROR”: 未声明的标识符
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(77): error C3861: “MAKE_HRESULT”: 找不到标识符
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\winnt.h(664): error C2378: “HRESULT”: 重定义;符号不能由 typedef 重载
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): note: 参见“HRESULT”的声明
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(536): error C2143: 语法错误: 缺少“;”(在“__cdecl”的前面)
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(536): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(535): error C2370: “HRESULT”: 重定义;不同的存储类
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): note: 参见“HRESULT”的声明
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(540): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(544): error C2143: 语法错误: 缺少“;”(在“__cdecl”的前面)
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(544): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(543): error C2370: “HRESULT”: 重定义;不同的存储类
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): note: 参见“HRESULT”的声明
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\fileapi.h(548): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(71): error C2143: 语法错误: 缺少“;”(在“__cdecl”的前面)
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(71): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(70): error C2370: “HRESULT”: 重定义;不同的存储类
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): note: 参见“HRESULT”的声明
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(76): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(81): error C2143: 语法错误: 缺少“;”(在“__cdecl”的前面)
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(81): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\utilapiset.h(80): error C2370: “HRESULT”: 重定义;不同的存储类
1>c:\program files\microsoft sdks\kinect\v1.7\inc\nuiapi.h(46): note: 参见“HRESULT”的声明

这时候,添加windows.h头文件就可以了

即在头文件加入:

 

#include <Windows.h>

 

问题即可解决!!!!

展开阅读全文

没有更多推荐了,返回首页