Ошибка C2872: логическое значение: двусмысленный символ для kinect.h - PullRequest
0 голосов
/ 08 ноября 2019

После обновления 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). Я также пытался очистить, перезагрузить и перепроверить для любого использования пространства имен, но ошибка все еще там.

На основании ошибки:

Файл концепций включаетследующая строка

#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;

1 Ответ

0 голосов
/ 13 ноября 2019

Основываясь на комментариях и установив C ++ Language Standard на C ++ 17, я смог успешно построить свой проект.

...