Вопрос

Итак, я строю проект, и он использует функции из сборной библиотеки (.dylib или .so). У меня есть заголовки и файлы библиотеки (это все часть qtroot, BTW) в соответствующих местах, но когда я пытаюсь создать свой проект в Xcode, я получаю ошибку отладчика:

Dyld: Библиотека не загружена: @ rpath / librio.so, на ссылке: / Пользователи / paulthompson / Документы / Программирование / сборки Products / debug / macheliossim.app / Содержание / Macos / Macheliossim. Причина: Изображение не найден. Формат данных данных временно недоступны, повторно попробую после «продолжения». (Не удается позвонить в погрузчик в настоящее время, он заблокирован.)

Теперь сама программа, которая построена, будет работать совсем хорошо, если я открою его от Finder, но всякий раз, когда я стараюсь запустить его из Xcode, он устанавливает на меня. Что такое эта рабовка, и почему отладчик не может найти библиотеки, даже если сам XCode знает, где они есть, и, видимо, программа, когда бегите из искателя тоже могут их найти?

Это было полезно?

Решение

http://en.wikipedia.org/wiki/rpath_(

Это путь, хранящийся в двоичном виде, чтобы найти общие libs. Когда вы запускаете приложение от Finder, это, вероятно, пакет приложения? Когда создаются пакеты приложений, общие библиотеки копируются в пакет приложения, а пути к вкладу библиотеки становятся относительными. (@executable_Path /../ frameworks / foobar). Как вы создали версию, которая работает от Finder?

Вышеуказано ли ошибка приведена в зависимости от времени или при запуске приложения от Xcode? (В последнем случае попробуйте с dyld_library_path)

Кроме того, расширение .so для Librio вместо .Dylib выглядит немного подозрительно.

Другие советы

Добавьте рапуску в фазу связывания, как в этом (в Qt Creator) Пример:

Libs + = -L / usr / local / root / lib -lgui -lcore -lcint -lrio -lnet -lhist -lgraf -lgraf3d -lgpad -ltree -lrint -lpostscript -ltree -lrint -lpostscript -lmatrix -lphysics -lmathcore -ltread -lpthread -wl -RPath, / usr / local / root / lib -lm -ldl

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top