2010-09-25 7 views
3

Я пытаюсь связать библиотеку libssh2.1.dylib с моим проектом iPhone Xcode, но я получаю эту ошибку, когда пытаюсь ее связать. Если я не добавлю это как фреймворк, я получаю символы, которые не нашли ошибку. Теперь /Users/Matt/Documents/Development/iPhoneApps/Portscanner/lib/libssh2.1.dylib не является правильным путем к этому файлу. Я загрузил библиотеку из Интернета и ее путь к компьютеру автора. У меня есть файл, расположенный в совершенно другом месте. Как изменить ссылку на путь? Heres ошибка я получаю:Dyld: библиотека не загружена

dyld: Library not loaded: /Users/Matt/Documents/Development/iPhoneApps/PortScanner/lib/libssh2.1.dylib 
Referenced from: /var/mobile/Applications/5353E047-05FE-42E4-8F32-617E8D02A11D/Port  Scanner.app/Port Scanner 
Reason: image not found 
+0

Может быть, это не соответствует теме. Но загляните в документ и получите инструкцию по созданию и использованию библиотеки libssh2 для использования с вашим iPhone-приложением. Uri: https://sites.google.com/site/olipion/cross-compilation/libssh2 – Learner

ответ

1

Вы можете использовать install_name_tool изменить установленное имя пути на .dylib файла:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/install_name_tool.1.html

пример изменения установки имя:

install_name_tool -id <yourpath>/libssh2.1.dylib /Users/Matt/Documents/Development/iPhoneApps/Portscanner/lib/libssh2.1.dylib 
  • Первый параметр - это путь, который вы хотите
  • второй параметр реальный путь к файлу, так перетащить файл в из Finder

Кроме того, вам может понадобиться изменить имена зависимостей тоже, и вы можете использовать один и тот же инструмент, чтобы сделать это:

install_name_tool -change <old path> <new path> <library name> 

Вы можете проверить, какие текущие имена используют otool. Таким образом, вы можете проверить изменения с otool, как это: otool -D libssh2.1.dylib и зависимости с otool -L libssh2.1.dylib

Или вы можете получить исходный код и восстановить его самостоятельно с путем тока в нем.

Если вам нужен относительный путь, вы должны изучить изменение имени вашей установки на @ rpath/libssh2.1.dylib и добавить путь к вашим настройкам проекта.

Смежные вопросы