Я пытаюсь связать мой проект с определенным набором скомпилированных пользовательских библиотек, размещенных в базовом каталоге проекта [proj_dir] / lib - ни в одной из системных / lib, / usr / lib или / usr/ local / lib - чтобы избежать конфликтов с установленными стоковыми версиями тех же библиотек.
Я могу скомпилировать проект, передав путь к библиотеке с флагом -L
, но я получаю error while loading shared libraries libXXX.so: cannot open shared object file: No such file or directory
, когда запускаю скомпилированный бинарный файл, и ldd
говорит мне, что он не может найтиэти конкретные библиотеки.
С другой стороны, я могу запустить его без проблем, если передам LD_LIBRARY_PATH=[proj_dir]/lib
исполняемому файлу.Тем не менее, есть ли способ неявного связывания этих библиотек без необходимости вручную устанавливать LD_LIBRARY_PATH
во время выполнения?