c++ - 错误错误 C2872:“布尔”:kinect.h 的符号不明确
问题描述
VS19 更新到 16.3.8 后,我无法构建我的项目,并且收到以下错误:
C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\inc\Kinect.h(8574,28): error C2872: 'boolean': ambiguous symbol
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\rpcndr.h(193,23): message : could be 'unsigned char boolean'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\concepts(213,9): message : or 'bool std::boolean'
我试图检查 kinect.h 标头,但我没有修改它的权限,我不想弄乱我不熟悉的东西。它曾经在更新之前工作(VS19 16.0.0)。我还尝试清理、重新启动并仔细检查任何 using 命名空间,但错误仍然存在。
基于错误:
概念文件包括以下 行
#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,我能够成功构建我的项目。
推荐阅读
- python - 我应该使用等待popen吗
- php - 如何将随机数插入数据库不重复
- java - Android studio 点击 Listview 并设置视图
- r - 如何在 R 编程中的 plot() 上添加 legend()
- laravel - PayPal API 中没有返回电话号码
- r - 处理故意的命名空间冲突
- c# - 在进度条上显示异步 SSH.NET SFTP 上传 (BeginUploadFile) 的进度
- typescript - 文件更正后打字稿错误不会消失
- sql - 提取月、年 (Netezza SQL)
- optimization - GAMS 错误:线性模型中不允许使用内生函数参数