Я создал автономный исполняемый файл, который ссылается на мой объект .so. оба находятся в одном каталоге. при попытке запустить исполняемый файл выдает следующую ошибку:
ld.so.1: myExec: fatal: libMine.so: Ошибка открытия: нет такого файла или каталога
что я делаю не так?
Системы Unix не ищут в текущем каталоге файлы .so автоматически.
Вы можете обойти это для разработки, установив LD_LIBRARY_PATH, но при обычной установке они должны быть установлены в соответствующем месте в системе.
LD_LIBRARY_PATH
См. Также , почему вы не должны заставлять своих пользователей использовать LD_LIBRARY_PATH
Попробуйте выполнить следующую строку перед запуском приложения:
export LD_LIBRARY_PATH=.
Да, как говорит Алок, в пути загрузки lib нет каталога, в котором содержится .so. Даже текущий рабочий каталог не предполагается; оно должно быть явно указано в LD_LIBRARY_PATH.