Ошибка распространения Dylib «Библиотека не загружена» - PullRequest
0 голосов
/ 17 августа 2011

Я разрабатываю приложение на Objective-C ++, которое использует динамические библиотеки OpenCV и VTK, но у меня проблема с распространением, если я запускаю свое приложение в другой системе, у меня возникает эта проблема:

Сообщение об ошибке Dyld:

  Library not loaded: @executable_path/../Frameworks/libvtkCommon.5.6.1.dylib
  Referenced from: /myApp.app/Contents/MacOS/myApp
  Reason: no suitable image found.  Did find:
    /myApp.app/Contents/MacOS/../Frameworks/libvtkCommon.5.6.1.dylib: open() failed with errno=13
    /myApp.app/Contents/MacOS/../Frameworks/libvtkCommon.5.6.1.dylib: open() failed with errno=13

Я перестроил свои dylibs с помощью install_name_tool, чтобы они указывали на: @executable_path/../Frameworks, и в «фазе сборки» цели myApp я добавил фазу «копирования файлов» с назначением «Каркасы»"для моих dylibs.Где проблема?

1 Ответ

0 голосов
/ 17 августа 2011

Проверьте пакет приложения и убедитесь, что файл, скопированный в Frameworks, является фактическим dylib, а не файлом символьной ссылки. Кроме того, вы запускали install_name_tool как для файла dylib, так и для вашего исполняемого файла? Посмотрите на этой странице в разделе Shared Libraries для примера.

Также см. этот вопрос .

...