Files
MaaAssistantArknights/docs/zh-cn/develop/linux-tutorial.md
nekosu 82bcfd11bc fix: linux cross compiling (#14048)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-09 13:22:53 +08:00

3.4 KiB
Raw Blame History

order, icon
order icon
2 teenyicons:linux-alt-solid

Linux 编译教程

本教程需要读者有一定的 Linux 环境配置能力及编程基础!若您仅希望直接安装MAA而非自行编译请阅读用户手册 - Linux 模拟器与容器

::: info 注意 MAA 的构建方法仍在讨论中, 本教程的内容可能过时, 请以 GitHub workflow file 中的脚本为准。也可参考 AUR PKGBUILDnixpkgs。 :::

::: info Mac 可以使用 tools/build_macos_universal.zsh 脚本进行编译。建议参考 MaaAssistantArknights/MaaMacGui 项目的 README.md。 :::

编译过程

  1. 下载编译所需的依赖

    • Ubuntu/Debian
    wget https://apt.llvm.org/llvm.sh
    chmod +x llvm.sh
    sudo ./llvm.sh 20
    sudo apt install cmake
    
  2. 构建第三方库

    可以选择下载预构建的依赖库或从头进行编译

    • 下载预构建的第三方库 (推荐的)

      Note

      包含在相对较新的 Linux 发行版 (Ubuntu 22.04) 中编译的动态库, 如果您系统中的 libstdc++ 版本较老, 可能遇到 ABI 不兼容的问题. 目前已经基于交叉编译降低了运行环境, 仅需要依赖 glibc 2.31 (ubuntu 20.04).

      python tools/maadeps-download.py
      python tools/linux-toolchain-download.py
      

    如果您发现上面的方法下载的库由于 ABI 版本等原因无法在您的系统上运行且不希望使用容器等方案, 也可以尝试从头编译

    • 自行构建第三方库 (将花费较长时间)

      git clone https://github.com/MaaAssistantArknights/MaaDeps
      cd MaaDeps
      # 如果系统环境过低, 请考虑不使用交叉编译, 而是直接使用本地编译环境.
      # 需要调整 MaaDeps/vcpkg-overlay/triplet 中的 toolchain 配置.
      python linux-toolchain-download.py
      python build.py
      
  3. 编译 MAA

    cmake -B build \
        -DINSTALL_RESOURCE=ON \
        -DINSTALL_PYTHON=ON \
        -DCMAKE_TOOLCHAIN_FILE=cmake/linux/maa-x64-linux-toolchain.cmake
    cmake --build build
    

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

    现在应该不需要指定LD_LIBRARY_PATH即可运行, 有问题提issue吧

    cmake --install build --prefix <target_directory>
    

集成文档

或许算不上文档

Python

可参考 Python demo__main__ 的实现

C++

可参考 CppSample 中的实现

C Sharp

可参考 MaaWpfGui 中的实现