问题描述
我正在尝试将 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