VS19更新到16.3.8后,我无法构建我的项目,我收到以下错误:
C:Program FilesMicrosoft SDKsKinectv2.0_1409incKinect.h(8574,28): error C2872: 'boolean': ambiguous symbol
C:Program Files (x86)Windows Kits10Include10.0.18362.0sharedrpcndr.h(193,23): message : could be 'unsigned char boolean'
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.23.28105includeconcepts(213,9): message : or 'bool std::boolean'
我试过检查kinect.h标头,但我没有修改它的权限,我不想处理一些我不熟悉的东西。在更新(VS19 16.0.0(之前,它一直在工作。我也尝试过清理、重新启动,并仔细检查是否有任何正在使用的命名空间,但错误仍然存在。
基于错误:
概念文件包括以下行
#define _STL_BOOLEAN_CONCEPT boolean
rpcndr.h
typedef unsigned char boolean;
然后kinect.h
virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInertial(
/* [annotation][out][retval] */
_Out_ boolean *value) = 0;
根据这些评论,通过将C++语言标准设置为C++17,我成功地构建了我的项目。