Dyld: Библиотека не Загруженный Ошибочный Mac OS

Hoookay,

Таким образом, я знаю, что собираюсь добраться, дюжина "загружают фиктивные ответы" lib на это, но здесь идет...

junk.framework экспортирует некоторые объекты другого проекта (junk.app), таким образом, я могу использовать его на remote.app узле на кластере. Я могу скомпилировать junk.framework (который я понимаю ничего больше не, означает с динамической загрузкой), и скомпилируйте и свяжите remote.app с junk.framework.

Однако, когда я выполняю remote.app, я получаю этот прекрасный драгоценный камень ошибки:

dyld: Library not loaded: @executable_path/../Frameworks/libtiff.dylib
  Referenced from: /Users/slate/Documents/junk/build/Development/junk.framework/Versions/A/junk
  Reason: image not found

Я думаю, что продолжается, то, что junk.framework загружает libtiff.dylib из определенного местоположения, и это не может найти его. junk.framework является другим проектом, я работаю, на котором я просто добрался для создания (наконец).

Когда я get info на libtiff.dylib в моей цели спама это дает мне /Users/slate/Documents/osirix/osirix/Binaries/LibTiff/libtiff.dylib как путь... и я имею absolute path выбранный. Итак, почему это там не ищет его?

Мм..., почему это смотрит на @executable_path/../???? Где на земле то, что установка, таким образом, я могу изменить ее?

Редактирование---

otool-L дает мне это:

/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.26.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.54.0)
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
@executable_path/../Frameworks/libtiff.dylib (compatibility version 11.0.0, current version 11.4.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 1327.73.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
/System/Library/Frameworks/vecLib.framework/Versions/A/vecLib (compatibility version 1.0.0, current version 242.0.0)
5
задан Stephen Furlani 4 June 2010 в 14:48
поделиться

1 ответ

При сборке libtiff.dylib был указан параметр @executable_path. (Если вы собираете свой собственный dylib или фреймворк, это параметр каталога установки (INSTALL_PATH) сборки). Его можно изменить с помощью команды install_name_tool.

9
ответ дан 14 December 2019 в 01:02
поделиться