Не удалось найти библиотеку openni2 после успешной компиляции

0

Я пытаюсь просмотреть рамки 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

Я понятия не имею, что происходит, и я буду благодарен за любую помощь/предложения.

благодаря

  • 0
    Запустите ldd newtest чтобы увидеть, где он ожидает найти libOpenNI2.so. Возможно, вам понадобится библиотека в рабочем каталоге.
  • 0
    @piedar - показывает только то, что libOpenNI2.so => не найден для openni, и большинство других библиотек находятся в / lib и / usr / lib. Хотите увидеть полный вывод?
Показать ещё 4 комментария
Теги:
opencv
openni

1 ответ

2

У меня была аналогичная проблема, и это разрешило это, как указано ниже. Вы не сказали, какой дистрибутив, но если на Ubuntu вам нужно будет добавить свое "переустановить" местоположение разделяемой библиотеки в компоновщик-коннектор. Итак, создайте новый файл:

$ sudo gedit /etc/ld.so.conf.d/openni2.conf

/<your-custom-shared-lib-location>/Redist/

Обратите внимание, что вам нужно добавить только путь, а не переменную PATH в файл. Затем запустите

sudo ldconfig

-L в make файле относится к связыванию ваших общих библиотек во время компиляции. Для связывания времени выполнения вам нужно вышесказанное. Насколько я понимаю, это необходимо только в том случае, если ваши библиотеки не находятся в местоположении по умолчанию /usr/local/lib. Это позволит компоновщику включить эти пути для ваших общих библиотек во время выполнения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню