本教程需要读者有一定的 Linux 环境配置能力及编程基础!
虽然没想明白为什么 Linux 下需要用助手挂模拟器,嘛总之大家有这个需求还是弄一下_(:з」∠)_
作者是 Linux 小白,所以虽说是教程,也只是分享一下自己的踩坑经历,如果遇到其他问题欢迎提出 ISSUE 一起讨论下 orz
Note MAA 的构建方法仍在讨论中, 本教程的内容可能过时, 请以 GitHub workflow file 中的脚本为准
下载编译所需的依赖
-
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
将自动下载所需的 opencv
和 fastdeploy
依赖并编译, 如果编译正常完成, 可以运行
cmake --install build --prefix <target_directory>
来将 MAA 安装到目标位置, 注意 MAA 推荐通过指定 LD_LIBRARY_PATH
来运行, 不要使用管理员权限将 MAA 装入 /
cmake
下载的预编译的 opencv
和 fastdeploy
未必适合所有系统, 假如在运行时遇到了 ABI 版本问题, 可能需要自己编译或指定
可以使用发行版的包管理器安装,如
-
Ubuntu/Debian
sudo apt install libopencv libopencv-dev # libopencv-dev 可以在编译完成后移除
-
Arch Linux
sudo pacman -S opencv
需要注意 Windows 平台开发使用的 OpenCV 版本为 4.5.3
,如果你需要指定版本或希望静态链接至 OpenCV, 可以从 源码 进行编译。
-
参考 这个教程,编译并安装 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 安装路径
与上面提到的相同, 增加 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
具体的依赖关系可能取决于 opencv
和 fastdeploy
的编译参数, 请在 cmake --install
后检查动态库依赖关系, 根据情况复制.
可参考 Python demo 中 __main__
的实现
可参考 CppSample 中的实现
可参考 MaaWpfGui 中的实现