ビルドガイド共通(共通部分)
作成日: 2026-06-10 / 更新日: 2026-06-10
ネイティブエンジン(packages/native-engine)を各プラットフォーム向けにビルドする際の共通手順をまとめる。macOS / Windows / iOS / Android の 4 ガイドはいずれも本書を土台とし、各ガイドにはプラットフォーム固有の差分(サブ部分)だけを記載する。
対象プラットフォームと差分の早見表
| プラットフォーム | サブガイド | ジェネレータ / ツールチェーン | SDL2 | 出力物 |
|---|---|---|---|---|
| macOS | 17-build-guide-macos.md | CMake (Unix Makefiles) + clang | Homebrew 版で可(ソースも可) | kaedevn_native |
| Windows | 24-build-guide-windows.md | CMake (Ninja) + MSVC | ソースから(SHARED / *.dll) | kaedevn_native.exe + DLL |
| iOS | 19-build-guide-ios.md | CMake (Xcode) + iOS SDK | ソースから(静的リンク) | kaedevn_ios.app |
| Android | 18-build-guide-android.md | Gradle + NDK (CMake/JNI) | ソースから(NDK ビルド) | app-debug.apk |
| Switch | 25-build-guide-switch.md | (NDA SDK・公開ビルド不可) | — | 準備状況のみ |
エンジンコード(SDL2Engine / GLRenderer / 各 Manager)は 4 プラットフォーム共通。差異は main.cpp と一部 Manager の #ifdef(__ANDROID__ / __APPLE__ / _WIN32)に閉じている。
全体像
.ksc / .ks → コンパイル済み Op[]
↓
KscVM (C++) + OpRunner
↓
IOpHandler 実装(ネイティブ)
↓
SDL2(ウィンドウ / 入力 / 音声)+ OpenGL(GLRenderer)/ Filament(VRM)
Step 1: リポジトリのクローン
git clone https://github.com/mkanakureon/kaedevn-monorepo.git
cd kaedevn-monorepo
# Web 側の依存が必要な場合のみ
npm install
Step 2: SDL2 ソースの取得
SDL2 本体と satellite ライブラリ(SDL2_image / SDL2_ttf / SDL2_mixer)+その vendored 依存(ogg, vorbis, freetype, harfbuzz 等)を取得する。配置先は packages/native-engine/external/。
# macOS / Linux
bash scripts/build/download-sdl2-sources.sh
# Windows(PowerShell)
pwsh -File scripts/build/download-sdl2-sources.ps1
| ライブラリ | バージョン |
|---|---|
| SDL2 | 2.30.12 |
| SDL2_image | 2.8.4 |
| SDL2_ttf | 2.22.0 |
| SDL2_mixer | 2.8.1 |
macOS だけは例外:Homebrew 版 SDL2(
brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer)を使えばソース取得は不要。iOS / Android / Windows はソースからのビルドが必須。
Step 3: ビルドの基本形
各プラットフォームともコアは CMake の configure → build(Android のみ Gradle が JNI 経由で CMake を呼ぶ)。ジェネレータとツールチェーンだけがプラットフォームで変わる(早見表参照)。サブガイドの該当ステップに従う。
# 例(macOS デスクトップ)
cd packages/native-engine
mkdir -p build && cd build
cmake ..
cmake --build . -j<コア数>
共通のハマりポイント
A. SDL2 not found(configure 失敗)
SDL2 が見つからない。macOS は Homebrew のパス(/opt/homebrew)を CMAKE_PREFIX_PATH に通す。ソースビルドのプラットフォームは Step 2 の取得が完了しているか確認する。
B. 'SDL2/SDL_image.h' file not found(ソースビルド共通)
ソースビルドではヘッダが SDL2/ サブディレクトリに並ばないため、#include <SDL2/...> が解決できない。CMake 側に互換 include ディレクトリ(sdl2-compat-include/SDL2/ にヘッダをコピーして include パスに追加)を作る仕組みが入っている(iOS / Android / Windows の各 CMakeLists に実装済み)。macOS Homebrew では発生しない。
C. No cmake project for ogg found / mixer の vendored 依存欠落
download-sdl2-sources.* が未実行か途中失敗。再実行すると satellite ライブラリの vendored 依存(ogg, vorbis, freetype 等)も取得される。
D. クリーンビルド
CMake キャッシュ破損時は build ディレクトリを丸ごと削除して再 configure する(各サブガイドのクイックリファレンス参照)。
次に読む
- macOS: 17-build-guide-macos.md
- Windows: 24-build-guide-windows.md
- iOS: 19-build-guide-ios.md
- Android: 18-build-guide-android.md