OpenNI2 проект с CMake странна грешка в синтаксиса с uint16_t

Направих проект на CMake за използване на OpenNI2 и NITE2, следвайки обичайните стъпки. CMake може да намери пътищата за включвания и библиотеки както на NITE, така и на OpenNI. Проектът във визуално студио свързва библиотеките и включва правилно.

Досега всичко изглежда правилно, но когато компилирам (няма грешки при свързване), получавам странна синтаксична грешка с файла 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
това беше, има някои ifdefs в заглавките на OpenNI, които проверяват версията на Visual Studio за включване на този файл, но няма дефиниция на типа uin16_t, така че единственото решение е да изтеглите stdint.h. Странна грешка... - person Jav_Rock; 11.04.2013