2015-02-09 5 views
0

Я скомпилировал исходный код для сборки и приложения, все компилируется отлично, но теперь я получаю ошибки связывания/зависимости, поэтому приложение падает при загрузке.Разрешение зависимостей ссылок mac os x

Вот ошибка

Dyld Error Message: 
    Library not loaded: libstreamanalyzer.0.dylib 
    Referenced from: /usr/local/lib/libkio.5.dylib 
    Reason: image not found 

используя otool -L на этот файл в вопросе я получаю

/opt/krita/lib/libkio.5.dylib (compatibility version 5.0.0, current version 5.14.3) 
/opt/krita/lib/libkdeui.5.dylib (compatibility version 5.0.0, current version 5.14.3) 
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.8.0, current version 4.8.6) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtXml.framework/Versions/4/QtXml (compatibility version 4.8.0, current version 4.8.6) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtSvg.framework/Versions/4/QtSvg (compatibility version 4.8.0, current version 4.8.6) 
libstreamanalyzer.0.dylib (compatibility version 0.0.0, current version 0.7.8) 
libstreams.0.dylib (compatibility version 0.0.0, current version 0.7.8) 
/opt/krita/lib/libsolid.4.dylib (compatibility version 4.0.0, current version 4.14.3) 
/opt/krita/lib/libkdecore.5.dylib (compatibility version 5.0.0, current version 5.14.3) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtDBus.framework/Versions/4/QtDBus (compatibility version 4.8.0, current version 4.8.6) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.6) 
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0) 
/usr/local/Trolltech/Qt-4.8.6/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.6) 
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0) 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0) 

Кто-нибудь есть какие-либо советы по решению этой проблемы?

[EDIT] используя поиск по моей системе он показывает

/opt/krita/lib/cmake/LibStreamAnalyzer/LibStreamAnalyzerConfig.cmake 
/opt/krita/lib/pkgconfig/libstreamanalyzer.pc 
/opt/krita/lib/libstreamanalyzer.0.7.8.dylib 
/opt/krita/lib/libstreamanalyzer.0.dylib 
/opt/krita/lib/libstreamanalyzer.dylib 

делает экспорт DYLD_LIBRARY_PATH =/Opt/Krita/Библиотека: $ DYLD_LIBRARY_PATH как vsoftco предложил и приложение по-прежнему падает с той же самой ошибки ,

ответ

1

ОС не может найти динамическую библиотеку. Apple OS X немного отличается от Linux, и даже если вы свяжете библиотеку успешно, у вас могут возникнуть проблемы при запуске программы.

Решение установить переменную окружения

DYLD_LIBRARY_PATH 

на пути, где ваша библиотека libstreamanalyzer находится. Из консоли OS X введите

export DYLD_LIBRARY_PATH=/path/to/library:$DYLD_LIBRARY_PATH 

затем попробуйте запустить программу.

Если вы запускаете программу из среды IDE, такой как XCode или Eclipse, существует опция указания переменных среды.

+0

Я пробовал это, но он все еще падает, см. Мое последнее редактирование. – steffan

+0

Вы запускаете программу из терминальной линии? если да, убедитесь, что вы запустили программу из того же сеанса терминала (т. е. не закрывайте терминал или не открывайте новую вкладку, поскольку инструкция экспорта не является постоянной, если вы не поместили ее в свой .profile) – vsoftco

+0

Да, я попробовав его непосредственно в том же терминале после экспорта пути. – steffan