部署带有opencv和ffmpeg动态库错误的QT项目
当我使用opencv和ffmpeg dylibs构建项目时,我的应用程序在出现错误时崩溃: Dyld错误消息: 未加载库: /usr/local/ceral/ffmpeg/4.1.3/lib/libswresample.3.dylib 引用自: /Applications/myApp.app/Contents/Frameworks/libavcodec.58.dylib 原因:找不到图像 我已尝试使用install_name_工具尝试使用以下方法更改路径:部署带有opencv和ffmpeg动态库错误的QT项目,qt,opencv,ffmpeg,macdeployqt,Qt,Opencv,Ffmpeg,Macdeployqt,当我使用opencv和ffmpeg dylibs构建项目时,我的应用程序在出现错误时崩溃: Dyld错误消息: 未加载库: /usr/local/ceral/ffmpeg/4.1.3/lib/libswresample.3.dylib 引用自: /Applications/myApp.app/Contents/Frameworks/libavcodec.58.dylib 原因:找不到图像 我已尝试使用install_name_工具尝试使用以下方法更改路径: 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_路径的路径
@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.Scott Johnson使用以下方法修复的指针:
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.Scott JohnsonFWIW:找不到libswresample.3,不是libavcodec.58FWIW:找不到libswresample.3,不是libavcodec.58