Проблема с динамическим связыванием библиотеки - PullRequest
1 голос
/ 06 сентября 2011

Я пытаюсь связать динамическую библиотеку в моем приложении COCOA, но получаю следующую странную ошибку:

dyld: библиотека не загружена: /opt/local/lib/libusb-0.1.4.dylib

Я хочу связать эту библиотеку из каталога приложения (Mac OS), поскольку я не хочу, чтобы пользователь что-либо устанавливал.Хотя я правильно связал библиотеку в рамках и добавил ее к этапу сборки целевой копии, но он все еще жалуется, что библиотека отсутствует.Две другие библиотеки, которые я связал, работают нормально, но libusb-0.1.4.dylib вызывает проблемы.Может кто-нибудь, пожалуйста, скажите мне, как решить эту проблему.

Заранее спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Я могу решить эту проблему, изменив пути в динамических библиотеках с помощью утилит otool и install_name_tool .Для справки: Динамические библиотеки, RPATH и Mac OS

0 голосов
/ 06 сентября 2011

Динамическая библиотека не может быть перемещена. Его путь определяется во время компиляции и не может измениться.

Именно поэтому вы получаете сообщение об ошибке.

Вы должны перекомпилировать эту конкретную библиотеку как статическую.

...