Почему моя программа не может найти библиотеки в "/usr/local/lib"?
Я на Ubuntu 10.10, и я только что обновил opencv до 2.4.2.
Проблема в том, что каждый раз, когда я открываю новую оболочку и пытаюсь скомпилировать и запустить, она компилируется, но не запускается из-за следующей ошибки:
./a.out: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory
Насколько я вижу, этот файл находится в / usr / local / lib /!
Я могу запустить его, предварительно запустив следующее:
export LD_LIBRARY_PATH=/usr/local/lib
Как я могу исправить эту проблему?
1 ответ
Решение
/usr/local/lib
отсутствует в пути Ubuntu по умолчанию. Вы должны добавить его в конце LD_LIBRARY_PATH
переменная окружения в /etc/environment
, Перезагрузка и новый путь будет эффективным.
Вы также можете установить это для каждого пользователя в ~/.bashrc
Пример (/etc/environment)
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
Пример (~/.bashrc)
export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"