Mediapipe C++ windows10 vs2019 成功编译
掬花沽贱酒
2025年03月28日 10:21
收录于文集
共11篇

鸣谢分享用户:

Mediapipe - Windows10 编译Mediapipe C++版本保姆级教程

https://stubbornhuang.blog.csdn.net/article/details/119546019

Mediapipe在win11下C++编译踩坑集合

https://zhuanlan.zhihu.com/p/1828932610

有效资源:Mediapipe 实现3D人脸检测

https://blog.csdn.net/liang_baikai/article/details/127849714

用MediaPipe实现一个DLL满足各种姿态捕捉

https://zhuanlan.zhihu.com/p/446265661

用户变量:

系统变量:

其它准备工作:

!正确跨栏!

Microsoft C++ 生成工具 - Visual Studio

https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

C:\Program Files\jdk-21.0.6

本机windows10x64版本所需版本参考

bazel-7.6.0

https://github.com/bazelbuild/bazel/tags?after=7.6.0

mediapipe-0.10.21

https://github.com/google-ai-edge/mediapipe/releases/tag/v0.10.21

1.python 3.11.9

需要安装:pip install tensorflow

2.opencv 3.4.10

解压到C盘根目录c:\opencv,这样避免修改默认文档里面的对应路径

3.下载mediapipe-0.8.10,主要是里面有两个模型文档,其后的版本就没包含了

mediapipe\modules\face_landmark:

face_landmark.tflite

face_landmark_with_attention.tflite

上述两个模型,在hello world编译成功后,编译face_mesh中要用到,解压后复制到mediapipe版本的对应目录下,之前需修改cpp文档的摄像头的编号,默认是0,如果本机编号为1。

------------------编译hello world错误修正------------------

1.python版本更正,...根据本机管理员用户名确定,tn25e5e3会根据实际运行情况有所不同:

C:/users/.../_bazel_.../tn25e5e3/external/org_tensorflow/third_party/py/python_repo.bzl

version = _get_python_version(ctx)

Fix:

version = "3.11"

2.合计二处,PY2,PY3,python执行文件路径更正:

C:/users/.../_bazel_.../tn25e5e3/external/local_execution_config_python/BUILD:16:11: 

interpreter_path = interpreter,

Fix:

interpreter_path = "D:\\Python311\\python.exe"

------------------编译face_mesh错误修正------------------

1.四个qs8-qc8w-文档按出场顺序报错,格式转换更正:

external/XNNPACK/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c(71): error C2440: '=': cannot convert from 'int' to '__m256i'

...

vacc0x0123 = _mm256_dpbssd_epi32(vacc0x0123, va0x01234567, vb01234567x0123);

...

Fix:

vacc0x0123 = _mm256_dpbusd_avx_epi32(vacc0x0123, va0x01234567, vb01234567x0123);

参考来源:

C:\Users\...\_bazel_...\tn25e5e3\execroot\_main:

目录下qs8-qc8w-系列文件,有原始正确代码

2.stablehlo_reduce_window.cc系列报错:

external/org_tensorflow/tensorflow/lite/kernels/stablehlo_reduce_window.cc

...

//  3

// ┌────┐

// ┌─┐  ┌─┐

// │X│X X│X│┐

// └─┘  └─┘│2

// X X X X ┘

// ┌─┐  ┌─┐

// │X│X X│X│

// └─┘  └─┘

Fix:

全部去掉354-371行的注释。

至此再无错误。

合计修正编译成功时间,约30分钟。

然而...此前...在不同版本的Mediapipe,Bazel,windosSDK纠错捣鼓了...2天,差点就放弃了。

--------------------------------------Time is life!-------------------------------