Развертывание проекта QT с ошибкой opencv и ffmpeg dylib

Когда я создаю свой проект с использованием дилибов opencv и ffmpeg, мое приложение вылетает из-за ошибки:

Сообщение об ошибке Dyld: библиотека не загружена: /usr/local/Cellar/ffmpeg/4.1.3/lib/libswresample.3.dylib

Ссылка на: /Applications/myApp.app/Contents/Frameworks/libavcodec.58.dylib Причина: изображение не найдено

Я попытался использовать install_name_tool, чтобы попытаться изменить пути, используя это:

install_name_tool -change libavcodec.58.dylib 

@executable_path/../Frameworks/libavcodec.58.dylib

/Users/me/code/build_output/MyAppQML/myApp.app/Contents/MacOS/myApp

Хотя это изменило файл, я все еще получал ту же ошибку и сбой во время выполнения.

Подходит ли install_name_tool для решения этой проблемы или мне стоит поискать что-нибудь еще?

Я использовал otool на libavcodec.58.dylib, который показал, что некоторые пути связаны с @executable_path

@executable_path/../Frameworks/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.35.100)
    /usr/local/Cellar/ffmpeg/4.1.3/lib/libswresample.3.dylib (compatibility version 3.0.0, current version 3.3.100)
    /usr/local/Cellar/ffmpeg/4.1.3/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.22.100)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
    /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
    @executable_path/../Frameworks/liblzma.5.dylib (compatibility version 8.0.0, current version 8.4.0)
    @executable_path/../Frameworks/libopencore-amrwb.0.dylib (compatibility version 1.0.0, current version 1.3.0)

person Clarky    schedule 08.07.2019    source источник
comment
FWIW: не удается найти libswresample.3, а не libavcodec.58   -  person L. Scott Johnson    schedule 08.07.2019


Ответы (1)


Исправлено с помощью:

install_name_tool -change /usr/local/Cellar/ffmpeg/4.1.3/lib/libswresample.3.dylib 

@executable_path/../Frameworks/libswresample.3.dylib

/Users/me/code/build_output/MyAppQML/myApp.app/Contents/Frameworks/libavcodec.58.dylib

Спасибо за указатель @L. Скотт Джонсон

person Clarky    schedule 09.07.2019