2014-11-17 3 views
3

Я получаю следующий вопрос:dyld: Библиотека не загружен: Библиотека/libopencv_core.3.0.dylib Причина: изображение не найдено

/Users/luke/Desktop/trainHOG/trainhog ; exit; dyld: Library not loaded: lib/libopencv_core.3.0.dylib Referenced from: /Users/luke/Desktop/trainHOG/trainhog Reason: image not found Trace/BPT trap: 5 logout

Я использую Mac под управлением OSX v10.9.5 с OpenCV 3.0 альфа.

Данная библиотека определенно находится в папке. Я попытался удалить его и вставить обратно в папку, я полностью удалил и переустановил openCV и macports, и я попробовал export DYLD_LIBRARY_PATH = "path to dynamic libs here..", но ничего не сработало. Я даже перезагрузил свой компьютер несколько раз!

Есть ли у кого-нибудь дополнительные предложения? Я из идей

ответ

2

Если вы используете

export DYLD_LIBRARY_PATH = "path to dynamic libs here.." 

она применяется к окружающей среде вашей программы? Вы можете проверить переменные окружения запущенного процесса с

ps -p <pid> -wwwE 

ли эта помощь?

1

Кажется, это ошибка в некоторых версиях файлов конфигурации CMake OpenCV, которые неправильно записывают относительные пути в установленных dylib, достаточно легко исправить.

This answer on answers.opencv.org решает проблему. В OpenCVModule.cmake и в каждом случае CMakeLists.txt заменить INSTALL_NAME_DIR lib на INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib.

+0

Это не работает для меня. Установка 3.0 по-прежнему дает dylib с абсолютными ссылками. – joelg

1

OpenCV 3,3 OSX 10,13 кулак есть тест, вы можете использовать лязг ++ -oa -I ./include -L ./lib -lopencv_core.your.version , то вы можете создать исполняемый файл а, запустить его, если есть массаж ошибок. вы найдете, что причина ошибки не может найти lib, когда вы являетесь ссылкой.

если вы хотите решить ошибку на терминале вы можете использовать экспорт DYLD_LIBRARY_PATH = ваши/Библиотеки: $ DYLD_LIBRARY_PATH если вы хотите решить ошибку на Xcode в сборках странице, перейдите к «Runpath Search Paths» add you lib path

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