#xcode #dylib #install-name-tool
#xcode #dylib #install-name-tool
Вопрос:
Я создаю свое приложение OSX с использованием XCode 5.1.1 и ссылаюсь на .dylib. Я настроил этапы сборки -> Копировать файлы для копирования .dylib в месте назначения фреймворков.
Когда я запускаю из XCode, он работает нормально, но когда я дважды щелкаю запуск .app bundle из Finder, он жалуется, что не может найти dylib, который XCode послушно разместил в разделе Contents / Frameworks, что можно легко проверить в finder.
otool -L в моем исполняемом файле показывает, что он ищет
@loader_path/libXYZ.dylib (compatibility version 1.0.0, current version 1.0.0)
Я могу легко обойти это, используя install_name_tool в моем исполняемом файле следующим образом:
install_name_tool -change @loader_path/libXYZ.dylib @executable_path/../Frameworks/libXYZ.dylib my_exec
но это изменение, очевидно, теряется при каждой повторной сборке. Как я могу сказать XCode, чтобы он в первую очередь настроил @executable_path../Frameworks?
Ответ №1:
Просто добавьте этап запуска сценария к этапам сборки.
Комментарии:
1. Как мне перейти на компакт-диск в папку, в которой находится приложение?