Mac运行MediaPipe C++示例时出现local_config_apple_cc仓库获取错误
Mac上MediaPipe Hello World编译错误分析
错误根源
这是架构不兼容导致的:
- 如果你的Mac是M系列芯片(arm64架构),旧版MediaPipe的Bazel配置默认适配Intel芯片的x86_64架构,Bazel在配置Apple编译器时识别到当前架构不被原有配置支持,就会触发
local_config_apple_cc仓库加载失败。 - 就算执行了
bazel clean --expunge,若Bazel版本和MediaPipe要求不匹配,或者残留了之前的架构配置缓存,也会导致问题重复出现。
是否属于电脑设置问题?
算是和电脑硬件架构直接相关的适配问题,并非系统设置出错,本质是编译工具链和硬件架构不匹配。
解决方法
- 强制指定编译架构:运行命令时加上对应架构参数,M系列芯片加
--cpu=darwin_arm64,Intel芯片加--cpu=darwin_x86_64,修改后的命令:export GLOG_logtostderr=1 bazel run --define MEDIAPIPE_DISABLE_GPU=1 --cpu=darwin_arm64 \ mediapipe/examples/desktop/hello_world:hello_world - 核对Bazel版本:查看MediaPipe官方文档要求的Bazel版本,确保本地安装的版本符合要求,版本不匹配会导致架构识别逻辑出错。
- 彻底重置配置:除了
bazel clean --expunge,删除项目目录下的.bazelrc文件(如果存在),再重新运行编译命令,让Bazel重新生成适配当前架构的编译器配置。
内容的提问来源于stack exchange,提问作者u.taaa
相关产品推荐
相关产品推荐

