【问题标题】:Deploying QT project with opencv and ffmpeg dylib error使用opencv和ffmpeg dylib错误部署QT项目
【发布时间】:2019-11-18 03:19:22
【问题描述】:

当我使用 opencv 和 ffmpeg dylibs 构建我的项目时,我的应用程序在出现错误时崩溃:

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 适合解决这个问题还是我应该看看别的?

我在 libavcodec.58.dylib 上使用了 otool,这表明某些路径链接到 @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)

【问题讨论】:

  • FWIW:找不到 libswresample.3,而不是 libavcodec.58

标签: qt opencv ffmpeg macdeployqt


【解决方案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。斯科特·约翰逊

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    相关资源
    最近更新 更多