DevkitPro
Nintendo Switch 用の Homebrew アプリを作成するのに必須の SDK 管理用のパッケージマネージャでこれをインストールしないとまず始まらない。
Ubuntu または WSL2 を用いた Ubuntu 仮想環境での導入方法についてはたくさん触れられているので、今回は macOS で動作させる方法について解説していく。
ちなみに、うちの環境は以下の通り。
- Mac mini(M1, 2020)
- Chip Apple M1
- Memory 8GB
- macOS Big Sur
- Xcode 13.0 (13A233)
DevkitPro のインストール
このページで解説しているとおりに進める。
wget https://github.com/devkitPro/pacman/releases/download/v1.0.2/devkitpro-pacman-installer.pkgsudo installer -pkg /path/to/devkitpro-pacman-installer.pkg -target /
折角なのでダウンロード用のコマンドも載せておきました。
SDK のインストール
今回は Nintendo Switch 向けのアプリを開発したいので以下のコマンドを入力します。
sudo dkp-pacman -Sysudo dkp-pacman -Syusudo dkp-pacman -S switch-dev
パスワードを入力すると以下のような画面が出るはずなので、何も考えずにエンターキーを押します。
:: There are 12 members in group switch-dev::: Repository dkp-libs 1) deko3d 2) devkita64-cmake 3) libnx 4) switch-cmake 5) switch-examples 6) switch-pkg-config:: Repository dkp-osx 7) devkitA64 8) devkitA64-gdb 9) general-tools 10) pkg-config 11) switch-tools 12) uam
Enter a selection (default=all):
環境変数の設定
自分の環境では.zshrc
を使っていたのですが、ここでは各自あわせてファイルを適時変更してください。
export DEVKITPRO=/opt/devkitproexport DEVKITARM=/opt/devkitpro/devkitARMexport DEVKITPPC=/opt/devkitpro/devkitPPC
これらを記述するか、単にコマンドから入力しておけば大丈夫です。
ビルドしてみよう
テンプレートファイルがあるのでそれを利用します。
::: warning 記事との違い
このメモではsimple
というディレクトリがあることになっているが、実際にはapplication
というものにバージョンアップで変更されている。
:::
cd ~git clone https://github.com/switchbrew/switch-examplescd switch-examples/templates/applicationmkdir -p exefs_src/amake
$ makemain.clinking application.elfbuilt ... application.nacpbuilt ... application.nro
ビルド自体は 10 秒ほどで終わり、ファイルができていることが確認できる。
$ lsMakefile application.nro sourceapplication.elf buildapplication.nacp exefs_src
あとはapplication.nro
をスイッチの SD カードのswitch
フォルダに移動させればアプリケーションとして動作します。
コードを改造しよう
弄るのはsource/main.c
だけです。
ってかこれ、C++じゃなくて C なんですね…