У меня правильно установлено программное обеспечение на Kubuntu.
Теперь я исправляю и тестирую некоторые из его библиотек.
Как я могу запустить программу из bash, чтобы она загружала мои пропатченные библиотеки вместо официальных библиотек?
например:.
официальные библиотеки находятся в / usr / lib /
мои библиотеки исправлений (используемые при разработке тестов) находятся в / home / user / dev / lib /
Я пытался:
$ set LD_LIBRARY_PATH=/home/user/dev/lib/
$ binary_app &
но безрезультатно.
Я бы предпочел решение, которое можно установить из bash, но если это невозможно, я также мог бы изменить файл cmake этого программного обеспечения C ++.
Цель состоит в том, чтобы я мог легко запустить приложение либо с ванильными библиотеками, либо с моими исправленными библиотеками, чтобы увидеть различия.
Редактировать: это KDE .so файл
Библиотека, которую я тестирую, является библиотекой KDE4. Официальная библиотека находится в / usr / lib / kde4 /. В этом каталоге ни одна из библиотек не начинается с префикса lib .
Буду ли я:
/lib/ld-linux-x86-64.so.2 --list --library-path PATH EXEC
или
ldd EXEC
Библиотека вообще не указана.
С другой стороны, если переместить исходную библиотеку из / usr / lib / kde4 /, приложение запускается, но соответствующая функциональность отсутствует.
Библиотеки KDE4 загружаются определенным образом? Может быть, переменная для установки отличается ...
Редактировать 2
Все ответы хорошие и полезные ... к сожалению, оказалось, что проблема не связана с настройкой пути к lib. Я имею дело с архитектурой плагинов, и путь загрузки .so кажется жестко заданным где-то в приложении. Мне нужно больше времени проводить в исходном коде, чтобы понять, что происходит ... Спасибо и +1 всем.