Проект OpenNI2 со странной синтаксической ошибкой CMake с uint16_t

Я сделал проект CMake для использования OpenNI2 и NITE2, следуя обычным шагам. CMake может найти пути для включений и библиотек как NITE, так и OpenNI. Проект в Visual Studio правильно связывает библиотеки и включает их.

Пока все выглядит правильно, но когда я компилирую (без ошибок компоновки), я получаю странную синтаксическую ошибку с файлом OnyCTypes.h. Ошибки такие:

Error1 error C2146: syntax error : missing ';' before identifier 'usbVendorId'  c:\program files (x86)\openni2\include\OniCTypes.h  84

Я также скопировал содержимое папки Openni/Redist в ту же папку проекта Visual Studio, поэтому не могу понять, что вызывает ошибку.

Что еще я могу проверить? У кого-нибудь была похожая ошибка с OpenNI2?


person Jav_Rock    schedule 10.04.2013    source источник
comment
Вы в Windows или Linux? Какая у вас версия Visual Studio/Eclipse??   -  person vgonisanz    schedule 11.04.2013
comment
Я использую VisualStudio2008   -  person Jav_Rock    schedule 11.04.2013


Ответы (1)


uint16_t принадлежат stdint.h Посмотрите

Эта библиотека по умолчанию не включена в VS2008, скачайте ее и включите в CMake, чтобы запустить проект без проблем с компоновкой.

person vgonisanz    schedule 11.04.2013
comment
вот и все, в заголовках OpenNI есть несколько ifdef, которые проверяют версию Visual Studio на предмет включения этого файла, но нет определения типа uin16_t, поэтому единственным решением является загрузка stdint.h. Странная ошибка... - person Jav_Rock; 11.04.2013