使用OPENCV和FFMPEG DYLIB错误部署QT项目



当我使用opencv构建项目时

染色器错误消息: 库未加载: /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)

通过使用:

修复
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。斯科特·约翰逊

最新更新