У меня есть коллекция проектов, которые я собираю как динамические библиотеки.Каждый из этих .dylibs зависит от других различных .dylibs, которые я хотел бы поместить в различные другие каталоги (например, некоторые на пути к исполняемому файлу, некоторые на пути к загрузчику, некоторые на фиксированный путь).
Когда язапустить otool -L
в скомпилированных библиотеках, я получаю список путей к этим зависимостям, но я знаю, как эти пути устанавливаются / определяются.Они почти кажутся псевдослучайными.Я часами возился с «Настройки сборки» в XCode, чтобы попытаться изменить эти пути (w / @rpath, @executable_path, @loader_path и т. Д.), Но я не могу ничего изменить (как проверено при запуске otool -L
).Я даже не совсем уверен, куда добавить эти флаги, и не совсем понимаю разницу между следующими или как их правильно использовать:
Связывание - «Имя установки динамической библиотеки»
Связывание - »Пути поиска пути выполнения "
Связывание -" Другие флаги связи "
Пути поиска -" Пути поиска в библиотеке "
Когда я запускаю install_name_tool -change
в различных библиотеках, я могу успешно изменить прогонпути поиска путей (опять же, как проверено, выполнив otool -L
для подтверждения).
Я использую Xcode 4.2, и я очень близок к тому, чтобы отказаться и просто использовать сценарий после сборки, который запускает install_tool_name, чтобы сделатьперемены.Но это хакерское исправление, и я предпочел бы этого не делать.
Где я могу посмотреть, как устанавливаются пути поиска / запуска для зависимостей dylib?
У кого-нибудь есть идеи по поводу того, что яможет быть не так?