ビルド #
MMDAgent-EX の動作環境は macOS, Linux, Windows である。以下の環境でビルド動作を確認している。
- macOS: M2 Macbook Air / macOS Ventura 13.5
- Linux: Ubuntu-22.04, Ubuntu-20.04
- Windows: Windows 11 with Visual Studio 2022
- Linux on WSL: Ubuntu-22.04 on WSL2 (v1.2.5.0) on Windows
コードの入手 #
Git LFS がインストールされているか事前にチェック。なければ先にインストールする。
Git LFS のチェック方法とインストールの手順
チェック
git lfs version
macOS
brew install git-lfs
Linux
sudo apt install git-lfs
Windows
Git LFS のサイト から LFS 拡張をインストール。
準備できたら GitHubよりレポジトリを入手する。
git clone https://github.com/mmdagent-ex/MMDAgent-EX.git
ビルド手順 #
macOS #
以下のパッケージが必要。全てあらかじめ brew install
する。
- cmake
- poco
- glew
- libjpeg
- re2
- portaudio
- minizip
- libsndfile
- libsamplerate
- sox
- rabbitmq-c
- libomp
- librdkafka
libomp
のヘッダファイルがうまくインストールされないことがある。ビルドでエラーが出る場合は以下を追加で行う。
brew link --force libomp
CMake でビルド。
cd MMDAgent-EX
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build
ビルドした実行バイナリとプラグインが Release/
ディレクトリ以下にコピーされる。
なお brew パッケージの場所は、環境変数 HOMEBREW_PREFIX
が定義されていればそれを使い、指定されていなければ brew --prefix
の出力を用います。
Linux #
必要なパッケージ名の一覧が requirements-linux.txt
ファイルにあるので、その中に記されているパッケージを全て事前に apt install
しておく。Ubuntu
であれば以下の要領で一括で行える。
cd MMDAgent-EX
sudo apt install `cat requirements-linux.txt`
CMake でビルド。
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build
ビルド成功後、必要な実行バイナリとプラグインは Release/
ディレクトリ以下にコピーされる。
Windows #
Visual Studio 2022 でビルドする。
インストールの際には「C++によるデスクトップ開発」にチェックを入れ、MSVC v143 と Windows 11 SDK (10.0.22000.0で確認)を併せてインストールする。
MMDAgent_vs2022.sln
を Visual Studio 2022 で開く- ソリューションエクスプローラで
main
を右クリックしてスタートアッププロジェクトに設定 - ビルド設定を
Release
に設定 - 「ソリューションのビルド」を実行
ビルドファイル #
実行に必要な全てのファイルは Release
フォルダ以下に生成される。
以下はWindowsの例。macOSとLinuxでは .exe 拡張子は無く .dll は .so になる。
AppData
以下には実行時に必要な各種データファイルがあり、DLLs
には動作に必要な外部 DLL が同梱されている(Windowsのみ)。
Release/
├── MMDAgent-EX.exe
├── MMDAgent-EX.mdf
├── AppData/
├── DLLs/
└── Plugins/
├── Plugin_AnyScript.dll
├── Plugin_Audio.dll
├── Plugin_Flite_plus_hts_engine.dll
├── Plugin_Julius.dll
├── Plugin_Kafka.dll
├── Plugin_LookAt.dll
├── Plugin_Network.dll
├── Plugin_Open_JTalk.dll
├── Plugin_RabbitMQ.dll
├── Plugin_Remote.dll
├── Plugin_TextArea.dll
├── Plugin_Variables.dll
└── Plugin_VIManager.dll
インストールが必要な場合、この Release
フォルダ以下を、ディレクトリ構造を保ったままコピーする。
追記 #
以下の同梱ライブラリは Windows でのみ使われる。macOS / Ubuntu ではこれらの同梱ファイルは使われず、システムにインストールされているパッケージのものがリンクされる。
Library_RE2
Library_zlib
Library_JPEG
Library_libsndfile
Library_PortAudio
Library_glew
Library_Poco
Library_librdkafka