在 macOS 上运行 mediapipe 时出错;构建 C++ 命令行示例应用程序

问题描述

我正在尝试将 mediapipe 用于大学项目并已安装它,甚至成功运行了 Hello World!在 C++ 示例应用程序中,但是当我尝试构建 C++ 命令行示例时,它给了我错误

我运行了这个:

bazel build -c opt --define MEDIAPIPE_disABLE_GPU=1 mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu

我得到的结果是这样的:

调试:/private/var/tmp/_bazel_kanzashaikh/c191ae13e9137350b50f6a19ce94bf21/external/rules_foreign_cc/workspace_deFinitions.bzl:15:10:警告:不再推荐和更新分支。请更新到 main 或选择一个特定的提交来固定在您的工作区中。 信息:构建选项 --compilation_mode 已更改,丢弃分析缓存。 错误获取存储库时出错:java.io.IOException:存储库的路径为“/usr/local/opt/opencv@3”(绝对值:“/usr/local/opt/opencv@3”)但此目录不存在. 错误:/Users/kanzashaikh/development/mediapipe/third_party/BUILD:178:6: //third_party:opencv_binary 依赖于 @macos_opencv//:opencv 无法获取的存储库 @macos_opencv。没有这样的包“@macos_opencv//”:存储库的路径是“/usr/local/opt/opencv@3”(绝对:“/usr/local/opt/opencv@3”)但这个目录不存在。 错误:目标 '//mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu' 的分析失败;构建中止:分析失败 信息:经过时间:0.194s 信息:0 个进程。 失败:构建未成功完成(已加载 0 个包,共 237 个目标) 确定)

我该如何解决

解决方法

在构建桌面示例之前,您应该设置 opencv。同样对于 android 示例,您应该设置 android sdk and ndk。 有一个用于设置 opencv 的内置脚本,您可以执行它。 用于设置 opencv:

bash setup_opencv.sh

对于安卓 sdk 和 ndk:

bash setup_android_sdk_and_ndk.sh