Ошибки ссылок OpenNI, множество неопределенных ссылок

Я схожу с ума ….
Я работаю над программой для считывания совместных координат с датчика Xtion Primesense с OpenNI и NiTE. Я получил программу splittet в 3 частях. Основной, sensorOpenNI.hpp и sensorOpenNI.cpp. Теперь, связывая части вместе, я получаю много ошибок, говорящих о неопределенных ссылках на некоторые функции NiTE. Я работаю с Kubuntu и G ++. Библиотеки NiTE и OpenNI находятся в каталоге с именем Include …
Вот сообщение об ошибке:

/tmp/ccrPQHEg.o: в функции openni::VideoFrameRef::release()':
sensorOpenNI.cpp:(.text._ZN6openni13VideoFrameRef7releaseEv[openni::VideoFrameRef::release()]+0x18): undefined reference to
oniFrameRelease»
/tmp/ccrPQHEg.o: в функции openni::VideoFrameRef::_setFrame(OniFrame*)':
sensorOpenNI.cpp:(.text._ZN6openni13VideoFrameRef9_setFrameEP8OniFrame[openni::VideoFrameRef::_setFrame(OniFrame*)]+0x25): undefined reference to
oniFrameAddRef»
/tmp/ccrPQHEg.o: в функции nite::UserTrackerFrameRef::release()':
sensorOpenNI.cpp:(.text._ZN4nite19UserTrackerFrameRef7releaseEv[nite::UserTrackerFrameRef::release()]+0x24): undefined reference to
niteUserTrackerFrameRelease»
/tmp/ccrPQHEg.o: в функции nite::UserTracker::create(openni::Device*)':
sensorOpenNI.cpp:(.text._ZN4nite11UserTracker6createEPN6openni6DeviceE[nite::UserTracker::create(openni::Device*)]+0x13): undefined reference to
niteInitializeUserTracker»
sensorOpenNI.cpp :(. text._ZN4nite11UserTracker6createEPN6openni6DeviceE [nite :: UserTracker :: create (openni :: Device *)] + 0x27): неопределенная ссылка на niteInitializeUserTrackerByDevice'
/tmp/ccrPQHEg.o: In function
конечны :: UserTracker :: Destroy () ‘:
sensorOpenNI.cpp :(. text._ZN4nite11UserTracker7destroyEv [nite :: UserTracker :: destroy ()] + 0x1e): неопределенная ссылка на niteShutdownUserTracker'
/tmp/ccrPQHEg.o: In function
конечен :: UserTracker :: readFrame (конечно :: UserTrackerFrameRef *) ‘:
sensorOpenNI.cpp :(. text._ZN4nite11UserTracker9readFrameEPNS_19UserTrackerFrameRefE [nite :: UserTracker :: readFrame (nite :: UserTrackerFrameRef *)] + 0x1d): неопределенная ссылка на niteReadUserTrackerFrame'
/tmp/ccrPQHEg.o: In function
конечны :: UserTracker :: startSkeletonTracking (короткая) ‘:
sensorOpenNI.cpp :(. text._ZN4nite11UserTracker21startSkeletonTrackingEs [nite :: UserTracker :: startSkeletonTracking (short)] + 0x1e): неопределенная ссылка на niteStartSkeletonTracking'
/tmp/ccrPQHEg.o: In function
конечны :: Nite :: Initialize () ‘:
sensorOpenNI.cpp :(. text._ZN4nite4NiTE10initializeEv [nite :: NiTE :: initialize ()] + 0x7): неопределенная ссылка на niteInitialize'
collect2: ld returned 1 exit status
patrick@ubuntu:~/Koerpersteuerung$ g++ -c sensorOpenNI.cpp sensorOpenNI.hpp -I Include/
patrick@ubuntu:~/Koerpersteuerung$ g++ mainSensor.cpp sensorOpenNI.o -I Include/
sensorOpenNI.o: In function
OpenNI :: VideoFrameRef :: Release () ‘:
sensorOpenNI.cpp :(. text._ZN6openni13VideoFrameRef7releaseEv [openni :: VideoFrameRef :: release ()] + 0x18): неопределенная ссылка на oniFrameRelease'
sensorOpenNI.o: In function
OpenNI :: VideoFrameRef :: _ setFrame (OniFrame *) ‘:
sensorOpenNI.cpp :(. text._ZN6openni13VideoFrameRef9_setFrameEP8OniFrame [openni :: VideoFrameRef :: _ setFrame (OniFrame *)] + 0x25): неопределенная ссылка на oniFrameAddRef'
sensorOpenNI.o: In function
конечны :: UserTrackerFrameRef :: Release () ‘:
sensorOpenNI.cpp :(. text._ZN4nite19UserTrackerFrameRef7releaseEv [nite :: UserTrackerFrameRef :: release ()] + 0x24): неопределенная ссылка на niteUserTrackerFrameRelease'
sensorOpenNI.o: In function
конечны :: UserTracker :: создание (OpenNI :: Device *) ‘:
sensorOpenNI.cpp :(. text._ZN4nite11UserTracker6createEPN6openni6DeviceE [nite :: UserTracker :: create (openni :: Device *)] + 0x13): неопределенная ссылка на niteInitializeUserTracker'
sensorOpenNI.cpp:(.text._ZN4nite11UserTracker6createEPN6openni6DeviceE[nite::UserTracker::create(openni::Device*)]+0x27): undefined reference to
niteInitializeUserTrackerByDevice»
sensorOpenNI.o: в функции nite::UserTracker::destroy()':
sensorOpenNI.cpp:(.text._ZN4nite11UserTracker7destroyEv[nite::UserTracker::destroy()]+0x1e): undefined reference to
niteShutdownUserTracker»
sensorOpenNI.o: в функции nite::UserTracker::readFrame(nite::UserTrackerFrameRef*)':
sensorOpenNI.cpp:(.text._ZN4nite11UserTracker9readFrameEPNS_19UserTrackerFrameRefE[nite::UserTracker::readFrame(nite::UserTrackerFrameRef*)]+0x1d): undefined reference to
niteReadUserTrackerFrame»
sensorOpenNI.o: в функции nite::UserTracker::startSkeletonTracking(short)':
sensorOpenNI.cpp:(.text._ZN4nite11UserTracker21startSkeletonTrackingEs[nite::UserTracker::startSkeletonTracking(short)]+0x1e): undefined reference to
niteStartSkeletonTracking»
sensorOpenNI.o: в функции nite::NiTE::initialize()':
sensorOpenNI.cpp:(.text._ZN4nite4NiTE10initializeEv[nite::NiTE::initialize()]+0x7): undefined reference to
niteInitialize»
collect2: ld вернул 1 статус выхода

Я звоню G ++, как это:

g++ -o test mainSensor.cpp sensorOpenNI.cpp -I Include/

1

Решение

Попробуйте скопировать библиотеки libOpenNI2.so и libNiTE2 следующим образом:

sudo cp ./OpenNI-Linux-x86-2.2/Redist/libOpenNI2.so /usr/local/lib
sudo cp ./NiTE-Linux-x86-2.2/Redist/libNiTE2.so /usr/local/lib

тогда делай
sudo ldconfig
и теперь скомпилируйте программу, добавив -lOpenNI2 -lNiTE2

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]