opencv - 更新dylib以引用其他dylib的正确版本(Homebrew)

标签 opencv homebrew dylib

我正在尝试构建一个使用QT和OpenCV的程序。它可以正确编译,但是当我运行应用程序时,我得到:

Starting /Users/Me/MyApp/Contents/MacOS/Foo...
dyld: Library not loaded: /usr/local/lib/libavformat.54.29.104.dylib
  Referenced from: /usr/local/lib/libopencv_highgui.2.4.3.dylib
  Reason: image not found
The program has unexpectedly finished.
/Users/Me/MyApp/Contents/MacOS/Foo exited with code 0

我看过/usr/local/lib,文件在那里正确链接,问题是libav现在是更高版本,而opencv却没有反射(reflect)这一点(例如,在十六进制编辑器中查看opencv dylib,我看到了想要上面所说的内容,但实际上我的lib文件夹中的内容是54.59.106版本,我尝试运行brew update/upgrade并重新链接所有内容,但是没有运气。

我可以通过复制有问题的dylib并将其重命名为旧版本来进行快速修复。确实会导致程序正确打开,但是有点麻烦。

显然我可以通过重新安装相关的库来解决此问题,但这需要花费宝贵的时间..从该线程看来,这是唯一的选择,但我不知道是否已解决:https://github.com/mxcl/homebrew/issues/11832

最佳答案

似乎解决此问题的唯一方法是运行:
brew rm ffmpeg && brew install ffmpegbrew rm opencv && brew install opencv
可能不需要重新使用ffmpeg,但是我没有发现任何危害。事实证明,当某个软件包更新到主要的新版本而另一个软件包尚未更新时,有时会发生这种情况。

关于opencv - 更新dylib以引用其他dylib的正确版本(Homebrew),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14358950/

相关文章:

xcode - 如何在 Xcode 4 中使用 dylib 文件创建工作框架

python - 使用python在打开的cv中进行圆圈检测

opencv - 减少opencv中模板匹配的误检

python - 如何在 Sikuli 中使用 Python OpenCV 函数

c++ - 未指定的错误找不到作者

python - 如何将 Tcl/Tk 的 ActiveState 分发链接到 HomeBrew 安装的 Python

macos - mac 无法远程访问 Jenkins 网页

mongodb - 无法运行 Mongo shell (Mac)

ios - 将 MH_EXECUTE 转换为 MH_DYLIB (mach-o)

swift - 如何使用xcrun编译到AppleTV?