Работает ли @rpath для поиска .dylibs, которые загружены / вызваны из другого .dylib? - PullRequest
1 голос
/ 18 июля 2011

Я только что узнал о @rpath для загрузки файлов .dylib с помощью dlopen, и мне нужна помощь в их понимании. Я использую Xcode 3.2.5 на машине OSX.

У меня есть несколько .dylib, которые называют другие .dylib, и которые также называют друг друга. @Rpath, кажется, работает для начальной загрузки .dylib, но как только я сделаю вызов dlopen с другим .dylib, который использует первый файл .dyblib, который был ранее найден и загружен с использованием @rpath, dlopen не сможет сказать, что может не найти оригинальный .dylib.

Работает ли @rpath только для файла, используемого с dlopen, или он также используется для разрешения зависимостей внутри открываемого файла dylib?

UPDATE:

Мои дальнейшие выводы побуждают меня использовать install_name_tools для изменения взаимозависимостей, чтобы иметь @rpath для них. Это правильный способ сделать это?

1 Ответ

1 голос
/ 21 июля 2011

После нескольких дней исследований, проб и ошибок, я обнаружил, что мне нужно сделать -install_name для всех моих .dylibs с @ rpath / dylibName.dylib в качестве имени установки для всех библиотек, которые я намерен использовать относительный путьнайти.

...