Skip to content

Latest commit

 

History

History
124 lines (83 loc) · 3.54 KB

2.1-Linux编译教程.md

File metadata and controls

124 lines (83 loc) · 3.54 KB

Linux 编译教程

本教程需要读者有一定的 Linux 环境配置能力及编程基础!

虽然没想明白为什么 Linux 下需要用助手挂模拟器,嘛总之大家有这个需求还是弄一下_(:з」∠)_

作者是 Linux 小白,所以虽说是教程,也只是分享一下自己的踩坑经历,如果遇到其他问题欢迎提出 ISSUE 一起讨论下 orz

Note MAA 的构建方法仍在讨论中, 本教程的内容可能过时, 请以 GitHub workflow file 中的脚本为准

仅编译 MAA 本体

下载编译所需的依赖

  • Ubuntu/Debian

    sudo apt install gcc-12 g++-12 cmake zlib1g-dev
  • Arch Linux

    sudo pacman -S --needed gcc cmake zlib

编译 MAA

git clone https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
cd MaaAssistantArknights
mkdir -p build
CC=gcc-12 CXX=g++-12 cmake -B build \
    -DINSTALL_THIRD_LIBS=ON \
    -DINSTALL_RESOURCE=ON \
    -DINSTALL_PYTHON=ON
cmake --build build

cmake 将自动下载所需的 opencvfastdeploy 依赖并编译, 如果编译正常完成, 可以运行

cmake --install build --prefix <target_directory>

来将 MAA 安装到目标位置, 注意 MAA 推荐通过指定 LD_LIBRARY_PATH 来运行, 不要使用管理员权限将 MAA 装入 /

编译或指定第三方库

cmake 下载的预编译的 opencvfastdeploy 未必适合所有系统, 假如在运行时遇到了 ABI 版本问题, 可能需要自己编译或指定

OpenCV

可以使用发行版的包管理器安装,如

  • Ubuntu/Debian

    sudo apt install libopencv libopencv-dev
    # libopencv-dev 可以在编译完成后移除
  • Arch Linux

    sudo pacman -S opencv

需要注意 Windows 平台开发使用的 OpenCV 版本为 4.5.3,如果你需要指定版本或希望静态链接至 OpenCV, 可以从 源码 进行编译。

FastDeploy

  1. 参考 这个教程,编译并安装 C++ SDK, 只需要打开 ONNX Runtime (Ort) 和 Vision。CPU 版比较方便,GPU 版本可能更折腾一点,可自行选择

    git clone https://github.com/PaddlePaddle/FastDeploy.git
    cd FastDeploy
    mkdir build && cd build
    cmake .. -DENABLE_ORT_BACKEND=ON \
             -DENABLE_PADDLE_BACKEND=ON \
             -DENABLE_OPENVINO_BACKEND=OFF \
             -DCMAKE_INSTALL_PREFIX=${PWD}/compiled_fastdeploy_sdk \
             -DENABLE_VISION=ON \
             -DENABLE_TEXT=OFF \
             -DOPENCV_DIRECTORY=/
    make -j 12
    make install

    其中 -DCMAKE_INSTALL_PREFIX 为安装路径,-DOPENCV_DIRECTORY 设为自定义的 OpenCV 安装路径

MAA

与上面提到的相同, 增加 cmake 参数

cmake -B build \
    -DINSTALL_THIRD_LIBS=OFF \
    -DOPENCV_DIRECTORY=path_to_opencv_install_prefix \
    -DFASTDEPLOY_DIRECTORY=path_to_compiled_fastdeploy_sdk \
    ...
cmake --build build

安装与打包

具体的依赖关系可能取决于 opencvfastdeploy 的编译参数, 请在 cmake --install 后检查动态库依赖关系, 根据情况复制.

集成文档

或许算不上文档

Python

可参考 Python demo__main__ 的实现

C

可参考 CppSample 中的实现

C#

可参考 MaaWpfGui 中的实现