Я пытаюсь создать gcd файлы из проекта iOS Xcode 4.2 (4D199) под названием CocoaTouchHax на Lion, и у меня возникают невероятные проблемы. Я выполнил шаги, описанные здесь, и даже попытался собрать llvm/clang. из исходного кода, выполнив шаги здесь. Однако я продолжаю получать эту ошибку:
Library not loaded: @executable_path/../lib/libprofile_rt.dylib
Где я ошибаюсь? Я пытался использовать install_name_tool, чтобы исправить путь к исполняемому файлу, но безрезультатно. Я что-то анализирую? Я пропустил что-то простое? Я помещаю это как фазу «Выполнить скрипт» перед связыванием, чтобы убедиться, что я обновил путь @executable, и я использую инструмент для проверки файла после обновления имени:
install_name_tool -id @executable_path/Users/cliff/dev/CocoaTouchHax/build/CocoaTouchHax/Build/Products/Debug-iphonesimulator/lib/libprofile_rt.dylib build/CocoaTouchHax/Build/Products/Debug-iphonesimulator/lib/libprofile_rt.dylib
Что я делаю неправильно? Помощь!
Обновление Простое добавление lib profile_rt.dylib приводит к сбою моего тестового запуска, немедленно выдавая следующую ошибку при любом запуске: @executable_path/../lib/libprofile_rt.dylib Так что я уверен, что что-то должно произойти или что-то в этом роде необходимо сделать с lib profile_rt.dylib перед выполнением.
Еще одно обновление. Я попытался создать ссылку суммы на /Developer/usr/lib в папке /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/Developer/usr, которая, как мне кажется, является частью базы путь, формирующий текущий рабочий каталог при запуске теста. (Предполагая, что он запускается из папки bin там.) Теоретически это завершит относительный путь поиска ../lib/libprofile_rt.dylib из этого базового пути, но это не сработало. Я пытался запустить команду install_name_tool перед копированием dylib на место, но все равно получаю эту ошибку:
Библиотека не загружена: @executable_path/../lib/libprofile_rt.dylib
Я не знаю, что я делаю неправильно. Каким-то образом мне удалось получить файлы тестового покрытия, используя некоторую комбинацию вышеперечисленного, но я не уделял должного внимания и не смог воспроизвести происходящее. Я знаю, что это может сработать, мне просто нужно немного больше помощи, чтобы понять, как это сделать.