Я пытаюсь просмотреть рамки openni color и depth с помощью opencv, и я смог скомпилировать код с помощью:
g++ 'pkg-config opencv --cflags' -I /home/myaccount/Downloads/OpenNI/Include/ testing.cpp -o newtest -L /home/myaccount/Downloads/OpenNI/Redist/ -lOpenNI2 'pkg-config opencv --libs'
Но когда я запускаю. /newtest, я получаю следующую ошибку:
./newtest: error while loading shared libraries: libOpenNI2.so: cannot open shared object file: No such file or directory
Я понятия не имею, что происходит, и я буду благодарен за любую помощь/предложения.
благодаря
У меня была аналогичная проблема, и это разрешило это, как указано ниже. Вы не сказали, какой дистрибутив, но если на Ubuntu вам нужно будет добавить свое "переустановить" местоположение разделяемой библиотеки в компоновщик-коннектор. Итак, создайте новый файл:
$ sudo gedit /etc/ld.so.conf.d/openni2.conf
/<your-custom-shared-lib-location>/Redist/
Обратите внимание, что вам нужно добавить только путь, а не переменную PATH в файл. Затем запустите
sudo ldconfig
-L в make файле относится к связыванию ваших общих библиотек во время компиляции. Для связывания времени выполнения вам нужно вышесказанное. Насколько я понимаю, это необходимо только в том случае, если ваши библиотеки не находятся в местоположении по умолчанию /usr/local/lib. Это позволит компоновщику включить эти пути для ваших общих библиотек во время выполнения.
ldd newtest
чтобы увидеть, где он ожидает найти libOpenNI2.so. Возможно, вам понадобится библиотека в рабочем каталоге.