Почему моя программа не может найти библиотеки в "/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"
Другие вопросы по тегам