mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
* ci: use lychee to check dead links * ci: comment on PR when dead links are found * docs: fix broken links
85 lines
2.7 KiB
Markdown
85 lines
2.7 KiB
Markdown
---
|
|
order: 2
|
|
icon: teenyicons:linux-alt-solid
|
|
---
|
|
|
|
# Linux Compiling Tutorial
|
|
|
|
**The tutorial requires some basic knowledge about Linux OS!**
|
|
If you just want to install MAA directly instead of compiling it yourself, please read [Emulator Support for Linux](../manual/device/linux.md).
|
|
|
|
::: info Note
|
|
Linux build of MAA is still under discussion, some of the content might be outdated, please follow the script in [GitHub workflow file](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/.github/workflows/ci.yml#L134), also reference [AUR PKGBUILD](https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=maa-assistant-arknights), [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ma/maa-assistant-arknights/package.nix)
|
|
:::
|
|
|
|
## Compiling MAA
|
|
|
|
1. Download build depends
|
|
|
|
- Ubuntu/Debian
|
|
|
|
```bash
|
|
sudo apt install gcc-12 g++-12 cmake zlib1g-dev
|
|
```
|
|
|
|
- Arch Linux
|
|
|
|
```bash
|
|
sudo pacman -S --needed gcc cmake zlib
|
|
```
|
|
|
|
2. Build or download third-party libraries
|
|
|
|
You may either download pre-built dependencies or build them from scratch
|
|
|
|
- Download pre-built libraries (recommended)
|
|
|
|
> **Note**
|
|
> It contains shared objects built on a relatively new linux distro (Ubuntu 22.04), which may cause ABI incompatibility if you are working on a system with older version of libstdc++.
|
|
|
|
```bash
|
|
python maadeps-download.py
|
|
```
|
|
|
|
If this does not work for you due to ABI issue, and containerization is not an option, you may build them from scratch
|
|
|
|
- Build from source
|
|
|
|
```bash
|
|
git submodule update --init --recursive
|
|
cd MaaDeps
|
|
python build.py
|
|
```
|
|
|
|
3. Build MAA
|
|
|
|
```bash
|
|
CC=gcc-12 CXX=g++-12 cmake -B build \
|
|
-DINSTALL_THIRD_LIBS=ON \
|
|
-DINSTALL_RESOURCE=ON \
|
|
-DINSTALL_PYTHON=ON
|
|
cmake --build build
|
|
```
|
|
|
|
To install MAA to the target location, note that MAA is recommended to run by specifying `LD_LIBRARY_PATH`, do not use administrator privileges to load MAA into `/`
|
|
|
|
```bash
|
|
cmake --install build --prefix <target_directory>
|
|
```
|
|
|
|
## Integration
|
|
|
|
[~~Maybe not a doc~~](../protocol/integration.md)
|
|
|
|
### Python
|
|
|
|
Refer to the implementation of `__main__` in [Python demo](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/Python/sample.py)
|
|
|
|
### C
|
|
|
|
Refer to the implementation of [CppSample](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/Cpp/main.cpp)
|
|
|
|
### C Sharp
|
|
|
|
Refer to the implementation of [MaaWpfGui](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/src/MaaWpfGui/Main/AsstProxy.cs)
|