gcc связывание разделяемых библиотек: вторичные зависимости с $ORIGIN
Это дополнительный вопрос к этому.
Я понимаю, что с помощью $ORIGIN
в -rpath
Опция генерирует динамический абсолютный путь, который всегда будет указывать на указанное местоположение - независимо от того, где я использую библиотеку.
Что меня смущает, так это то, что я использую эту библиотеку для генерации общего двоичного файла и снова устанавливаю -Wl,-rpath
вариант использования $ORIGIN
чтобы бинарный файл всегда находил свою библиотеку. Теперь оригинал $ORIGIN
Значение библиотеки больше не доступно или неверно, потому что она, кажется, перезаписана новой.
Как-то это понятно, так как сейчас я создаю новый общий объект - двоичный файл, который имеет свой собственный $ORIGIN
, Способ обойти это, будет предоставить двоичные файлы -rpath
с обоими местоположениями, один для библиотеки и тот, который нужен самой библиотеке. На мой взгляд, это делает -rpath
почти бесполезный, потому что я не могу просто указать ссылку на библиотеку и указать ее местоположение, мне также нужно указать расположение зависимости библиотеки.
Мой вопрос: есть ли способ указать иерархический -rpath
значения с использованием $ORIGIN
? Я хотел бы избежать абсолютных путей, которые, очевидно, решили бы мою проблему.