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>