Linux コンパイル チュートリアル
503字程度約2分
注意
このチュートリアルでは、読者にLinux環境の構成能力とプログラミングの基礎が必要です!MAAを自分でコンパイルするのではなく実行するだけの場合は、ユーザーマニュアル - Linux エミュレータとコンテナをお読みください。
注意
MAAの構築方法はまだ議論されていますが、このチュートリアルの内容は古くなる可能性があります。GitHub workflow file のスクリプトに準拠してください。
また、AUR PKGBUILD や nixpkgs も参照可能です。
関連情報
Mac は tools/build_macos_universal.zsh スクリプトを使用してコンパイルできます。
MaaAssistantArknights/MaaMacGui プロジェクトの README.md を参照することをお勧めします。
MaaCore のコンパイル
コンパイルに必要な依存関係をダウンロードする
Ubuntu/Debiansudo apt-get install cmake ninja-buildArchsudo pacman -S --needed cmake ninjaサードパーティ製ライブラリのビルド
以下のいずれかの方法を選択してください:
事前構築されたサードパーティ製ライブラリのダウンロード(推奨)
python tools/maadeps-download.py関連情報
事前構築されたサードパーティ製ライブラリは MaaLinuxToolchain ツールチェーンによってクロスコンパイルされており、glibc 2.31 (Ubuntu 20.04) のみに依存します。依然として ABI の非互換性問題が発生する場合は、コンテナを使用するか、最初から自分でビルドしてみてください。
サードパーティ製ライブラリを自分でビルドする(時間がかかります)
git clone --recurse-submodules https://github.com/MaaAssistantArknights/MaaDeps.git cd MaaDeps # システム環境が古すぎて事前構築の llvm 20 を使用できない場合は、クロスコンパイルを使わずローカルのビルド環境を使用することを検討してください。 # src/MaaUtils/MaaDeps/cmake 内の toolchain 設定を調整する必要があります。 python linux-toolchain-download.py python build.py
MAAのコンパイル
cmake --preset linux-x64 -DINSTALL_RESOURCE=ON -DINSTALL_PYTHON=ON cmake --build build cmake --install build --prefix <target_directory>最初の2行で
build/bin/Debug/libMaaCore.so(およびlibMaaUtils.so)が生成され、3行目でビルド成果物がインストール(つまり、コピー)されます。CMake オプションの説明
-DINSTALL_RESOURCE=ONはresourceディレクトリをインストール先にコピーします。MaaCore の実行には、resourceディレクトリが必要です。-DINSTALL_PYTHON=ONは Python インテグレーション(src/Python)をインストール先にコピーします。使用しない場合やリポジトリから直接利用する場合は省略可能です。ヒント
動的ライブラリのパスまたは
LD_LIBRARY_PATHを指定して MAA を実行することをお勧めします。root 権限で MAA を/usrにインストールしないでください。MaaFramework 関連コンポーネントのコンパイル
MaaFwAdbController(MaaFwAdb タッチモード)関連の機能をデバッグする場合は、MaaFramework の Debug バージョンを自分でコンパイルし、
libMaaAdbControlUnit.soをインストールディレクトリに配置する必要があります。実行
各プログラミング言語 API や Python の使用 などの資料を参照して MAA 動的ライブラリを呼び出します。
MaaWpfGui のコンパイル
注意
MaaWpfGui は Windows 向けに作られており、Linux 上でビルド成果物を実行するには Wine を介する必要があります。詳細は Wine を使用する を参照してください。
MaaCore.dllの準備MaaWpfGui は
MaaCore.dll(および依存する他の DLL)に依存します。現在、Linux から Windows 版のMaaCore.dllをクロスコンパイルすることはできません。MAA の Windows 版からコピーすることも可能ですが、バージョンの不一致が生じやすくなります。そのため、推奨される手順は以下のとおりです。まず前のセクションの説明に従って MaaCore をビルド(インストールは不要)し、その後 MaaWineBridge をビルドして、生成された
MaaCore.dllをbuild/bin/Debugディレクトリに配置します。.NET SDK のインストール
Ubuntusudo apt install dotnet-sdk-10.0Archsudo pacman -S --needed dotnet-sdkLinux に .NET をインストールする も参照してください。
MaaWpfGui のコンパイル
リポジトリのルートディレクトリで
dotnet build src/MaaWpfGui/MaaWpfGui.csproj -p:Platform=x64を実行します。初回のコンパイル時に依存関係が自動的にダウンロードされます。
build/bin/Debug/MAA.exeが生成されます。実行
wine build/bin/Debug/MAA.exe
