文章目录
- 1. 安装 MSYS2
- 2. 安装Python
- 3. 安装Visual Studio
- 4. 安装Bazel
- 5. 安装OpenCV
- 6. 下载MediaPipe
- 7. 运行 Hello World
- 8. 问题
1. 安装 MSYS2
1.1 下载
下载地址: MSYS2
1.2 安装
(1) 使用默认安装目录安装,安装在目录 c:\msys64
, 则添加目录 C:\msys64\usr\bin
到系统 Path 环境变量中;
(2) 安装完成后,打开MSYS,执行下面两步更新数据:
pacman -Syu
pacman -Su
(3)安装其他工具包:
pacman -S git patch unzip
2. 安装Python
2.1 安装
下载地址:Python
安装时选择最下面的 添加到Path环境变量
电脑上已经安装了Anaconda环境,也可以使用Anaconda的base环境 ,则这一步安装python可以省略
2.2 安装相关包
使用以下命令安装numpy和six这两个包
pip install numpy
pip install six
3. 安装Visual Studio
可以安装Visual Studio 2019 或者更新版本。 安装Visual Studio时注意要勾选添加WinSDK
经测试使用Visual Studio 2017编译MediaPipe的Hello_world示例时会报很多 LNK2005
的错误,改用Visual Studio 2019则没有这样的错误。其他更新版本的VS没测试。
Visual Studio 2019 下载地址: Visual Studio 2019
下载社区版则可。
安装:
在单个组件
栏下看看是否有勾选 Windows 10 SDK, 选哪个都行,只要勾选了就可以
4. 安装Bazel
4.1 安装
下载地址: Bazel
下载最新版本,写文章时当前最新版本为下图这个版本
下载完成后,建议把 bazel-6.0.0-pre.20220127.1-windows-x86_64.exe 重命名为 bazel.exe
,然后放入一个文件夹中,并把这个文件夹添加到系统Path环境变量中。
例如我放到 C:\bazel
这个目录,则把 C:\bazel
添加到系统Path环境变量中。
环境变量设置完后, 在cmd中使用 bazel version 查看版本,能查到版本信息则表示安装成功
4.2 设置 Bazel 环境变量
BAZEL_VS
BAZEL_VC
BAZEL_VC_FULL_VERSION
BAZEL_WINSDK_FULL_VERSION
4.2.1 BAZEL_VS
VS安装目录
(1)如果安装的Visual Studio Community 2019, 则设置 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
(2)如果安装的Visual Studio Enterprise 2019, 则设置 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
(3)其他。 版本依照此规则填写,根据你实际安装的版本和目录来填写
4.2.2 BAZEL_VC
与BAZEL_VS类似,只是后面加一个 \VC
4.2.3 BAZEL_VC_FULL_VERSION
填写此文件夹下的目录名
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC
4.2.4 BAZEL_WINSDK_FULL_VERSION
有如下几种方法查找:
(1)安装VS时勾选的 Windows 10 SDK 版本;
(2)控制面板 -> 程序 -> 程序与功能,里面找到 Windows Software Development Kit,版本号如下图所示这里,不过版本号最后一位应该填写 0, 比如这里版本号是 10.0.19041.685,则应填写成 10.0.19041.0 , 有多个版本的情况下,填写其中一个则可
(3)在目录 C:\Program Files (x86)\Windows Kits\10\bin 下查看
5. 安装OpenCV
下载地址: OpenCV
目前MediaPipe使用的OpenCV版本为3.4.10,找到Windows版本下载安装即可
6. 下载MediaPipe
使用git指令下载:
git clone https://github.com/google/mediapipe.git
下载完后,打开 WORKSPACE
文件,修改 windows_opencv
的目录
7. 运行 Hello World
cd mediapipe
bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:/Users/vm/AppData/Local/Programs/Python/Python310/python.exe" mediapipe/examples/desktop/hello_world
其中 PYTHON_BIN_PATH=“C:/Users/vm/AppData/Local/Programs/Python/Python310/python.exe” 为Python的安装目录,根据自己Python安装目录填
然后,运行hello_world.exe
set GLOG_logtostderr=1
bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
8. 问题
8.1 Bazel couldn’t find a valid Visual C++ build tools installation on your machine
环境变量中 BAZEL_VS、BAZEL_VC 填写的路径错误,或BAZEL_VC_FULL_VERSION、BAZEL_WINSDK_FULL_VERSION 版本号填写错误
8.2 LNK1104
LNK1104无法打开文件“kernel32.lib”
BAZEL_WINSDK_FULL_VERSION 的 Windows 10 SDK 版本号填写错误
8.3 LNK2005
建议更换VS试试,我这是用的VS2017编译的,报这样的错误,改用VS2019就没问题了
8.4 connect timed out
网络原因,重新执行编译指令