环境w11,windows编译的坑是真不少。我编译了好几次过程中遇见的所有报错根源都是版本。所以软件尽量安装最新版,不要用老版本,不要用老版本,不要用老版本。
1. 安装 MSYS2;
官网下载最新即可,注意安装后添加2个环境变量;
msys64\usr\bin
msys64\usr\bin\bash.exe
// 更新
pacman -Syu
pacman -Su
// 安装必需的包
pacman -S git patch unzip
2. 安装 Python;
有Tensorflow环境的跳过,没有的安装一下,注意添加环境变量;
3. 安装 VS 和 WinSDK;
链接到官网下载最新版即可;
注意版本号,VC version,WinSDK version,设置bazel需要;
4. 安装 Bazel;
链接下载适用自己平台的最新版即可,不要用老版本编译会报错,注意bazel依赖于jdk,如果没有需要自行安装;
添加环境变量;
设置bazel变量;
set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
set BAZEL_VC_FULL_VERSION=<Your local VC version>
set BAZEL_WINSDK_FULL_VERSION=<Your local WinSDK version>
5. Git Mediapipe;
git clone --depth 1 https://github.com/google/mediapipe.git
6. 安装 Opencv;
版本 >= 3.4.10;
修改mediapipe根目录下WORKSPACE文件中的opencv路径为你的安装路径;
cd mediapipe
new_local_repository(
name = "windows_opencv",
build_file = "@//third_party:opencv_windows.BUILD",
path = "C:\\opencv\\build",
)
7. Build Mediapipe;
修改PYTHON_BIN_PATH为你自己的python路径;
注意使用管理员运行cmd,否则可能编译失败;
cd mediapipe
C:\Users\Username\mediapipe_repo>bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\Users\\anaconda3\\envs\\py\\python.exe" mediapipe/examples/desktop/hello_world
编译完成,运行下命令查看是否成功。
set GLOG_logtostderr=1
bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe