本記事は JUCE Advent Calendar 2022 の12月15日向けに投稿した記事です。
Windows Dev Kit 2023 (Project Volterra)を入手したので、JUCE Demo RunnerをWindows11 on ARMでARMネイティブ向けにビルドした手順を記録しました。
対象バージョン
- Windows11 on ARM (Windows Dev Kit 2023)
- JUCE 7.0.3
- Visual Studio 2022 v17.4以上
- CMake 3.15以上
- Git 2.0以上
JUCEとは
JUCE (Jules' Utility Class Extensions)は、C++言語によるマルチメディア系アプリケーションの開発を支援するフレームワークです。
ライブラリの一部モジュールとして独自のGUIシステムを実装しており、開発者はそのAPIを利用することで、クロスプラットフォームなGUIアプリケーションを統一したコードベースで実装することができます。
公式サイト
JUCE 7.0.3からWindows on ARMがサポートされました
JUCE 7.0.3からWindows on ARMをサポートするコミットが追加されました。
このコミットは本記事執筆時点でmasterブランチに取り込まれているので、正式リリース版から利用することが出来るようになりました。
Windows on ARMとは
Windows on ARMとは、WindowsをARMプロセッサー上で実行することができるようにしたものです。ARMプロセッサーは、携帯電話やタブレットなどのモバイルデバイスに多く採用されている低消費電力プロセッサーです。Windows on ARMを採用することで、モバイルデバイスでも高速かつ省電力でWindowsを実行することが可能になります。また、Windows on ARMでは、x86プロセッサー向けのWindowsアプリケーションも動作させることができます。
ARM64を正式にサポートしたVisualStudioがリリースされました
本記事執筆時点において、Windows 向け開発ツールである「Visual Studio 2022」のv17.4からARM64プラットフォームへのネイティブ・ビルドがサポートされました。このバージョンを使用することで「Windows Dev Kit」などのARM64デバイスでネイティブで動作し、ARM64アプリのビルドおよびテストが可能になります。
JUCE Demo RunnerをWindows on ARMでARMネイティブ・ビルドするまで
JUCE Demo RunnerをWindows on ARMでARMネイティブ・ビルドするまでの流れを示します。
Git for Windowsをインストールする
GitHubからJUCEをクローンするので、開発環境にGit for Windowsをインストールしておきます。
公式サイト
CMakeをインストールする
今回はCMakeを使うので、開発環境にCMakeをインストールしておきます。
公式サイト
Visual Studioをインストールする
開発環境にVisual Studio 2022をインストールします。そして、追加モジュールとしてC++ツールキットをインストールします。このとき、ARMネイティブ・ビルド向けのツールキットも選択してインストールします。
JUCEリポジトリをクローンする
git clone https://github.com/juce-framework/JUCE.git
cd JUCE
CMakeでConfigure処理を実行する
Configureを実行する際に、以下のオプションをコマンドライン引数から渡します。
-
-G "Visual Studio 17 2022" -A ARM64
:Visual Studio 2022 用のジェネレータを使用する。この時、プラットフォーム・アーキテクチャはARM64を選択する。 -
-D JUCE_BUILD_EXAMPLES=ON
:JUCE Demo Runnerを含むExamplesをビルドするオプションを有効にする。
cmake -B build -G "Visual Studio 17 2022" -A ARM64 -D JUCE_BUILD_EXAMPLES=ON
Visual Studioでビルド処理を実行する
CMakeのコマンドライン経由でVisual Studioのビルド処理を実行します。
cmake --build build