В моем проекте XCode у меня есть несколько динамических библиотек, которые я создал с префиксом "@ rpath / lib".Я добавил фазу сборки «copy files», которая включает эти dylibs.Они устанавливаются в папку с именем lib в Frameworks.Я также установил путь поиска Runpath в "@loader_path /../ Frameworks", который должен быть заменен на @rpath при запуске исполняемого файла.DLYD смотрит на путь выполнения моего двоичного файла, который я проверяю, используя команду -l для двоичного файла.В результате получается:
Load command 47
cmd LC_RPATH
cmdsize 40
path @loader_path/../Frameworks (offset 12)
Поэтому я предполагаю, что при запуске моего двоичного файла DLYD разрешит путь к папке lib через двоичный файл MACH-O.
Когда я запускаю свой проект, я используюМонитор активности для проверки файлов, открытых в бинарном файле.Я не вижу ссылок на мои динамические библиотеки из @loaderpath /../ Frameworks / lib, где они находятся, вместо этого я вижу ссылки на них из / usr / local / lib.
Какие настройки XCode я устанавливаю, чтобы мои динамические библиотеки были правильно найдены?Я использовал пользовательскую настройку сборки 'DYLD_PRINT_BINDINGS', чтобы посмотреть, что связывает, и я не вижу, чтобы мои библиотеки были связаны, даже если они в конечном итоге связаны с библиотеками в / usr / local / lib