Qtでウィンドウズストアアプリを開発する環境を作ってみた

Qt develop environment for UWP
クロスプラットフォームに対応する開発ツールのひとつとして、C++によるQtがあります。Android向けプラットフォームはインストールしたらすぐに使えるのですが、ウィンドウズストアアプリ(Qt for WinRT)はVer 5.4ではなぜか64bitアプリしか開発できません。出荷台数が少ないARMプロセッサー搭載モデルは目をつむれても、32bitOSが使われている小型タブレットはせめて開発の範疇に入れたいもの。と、言うわけで、現時点で私が試している構築方法をご紹介します。

  1. ソースコードを入手する Qt for WinRTはバイナリとしては64bitのみのサポートですが、Qt自体はx86とARMはサポートしています。つまり、32bit向けを構築するにはソースからライブラリーを作れば良いのです。まずはQtの公式サイトからソースファイルのzipファイルをダウンロードして任意の場所に展開しましょう。
  2. ソースコードをビルドする まずはQtに用いられているPythonPerlRubyのインタプリタをインストールします(リンク先はQtが勧めているツールです)。インストールしたら環境変数のPATHにそれぞれのフォルダーが追加されていることを確認します。
    次にVisual Studio 2013をインストールしたときに追加される「VS2013 x86 Native Tools コマンド プロンプト(管理者権限で。x64ではありません!)」をスタートメニューから選択して、次のコマンドを入力し、コンパイルを実行します。このコマンドラインでは、オープンソースライセンスとして承認することになります。Core i7などの早いパソコンならおよそ30分ほどで終わります。ちなみに「winrt-x86-msvc2013」を「winrt-arm-msvc2013」にするとARMタブレットをターゲットにできます。
    cd c:\qtsrc(※展開したqtソースコードのあるフォルダ)
    configure -xplatform winrt-x86-msvc2013 -opensource -nomake examples -nomake tests -confirm-license
    nmake
    
  3. ライブラリーを登録する ビルドしたバイナリーをQtCreatorに登録します。QtCreatorのオプションより「ビルドと実行」をえらび、「Qtバージョン」のタブを選択、「追加」より、生成された「qtbase/bin/qmake.exe」ファイルを指定してください。
    次はデバッガーの登録です。マイクロソフトのサイトより「Windows 8.1 SDK」をダウンロードし、パッケージに含まれる「Debugging Tools for Windows」をパソコンにインストールします。QtCreatorの「Debuggers」の「Add」をクリックして、「Windows Kits」フォルダーに保存されているcdb.exeのパスを登録します。

    最後に「キット」タブを選んで、Windows Runtime 64bitの設定を複製(Clone)し、「名前」「デバッガ」「Qtバージョン」を先ほど登録したものにそれぞれ変更します。注意アイコンが表示されていなければ、これ以降はプロジェクトで32bit版のアプリをターゲットにすることができます。
  4. シミュレーターでデバッグするには QtCreatorでデバッグする場合は開発環境を動かしているPCのみに限られ、5.4ではシミュレーターやリモートデバッグは対応していません。これらを実現するには、Visual Studioのプロジェクトとして実行することが簡単です。「VS2013 x86 Native Tools コマンド プロンプト」より、Qtのプロジェクトファイルがあるフォルダーを参照し、そこから「"C:\Qt\5.4\winrt_x64\bin\qmake.exe" -tp vc (プロジェクト名).pro "CONFIG+=windeployqt"」のようにqmakeを通すと、同じフォルダーにVisual Studioプロジェクトファイル一式が作成されます。あとはこのプロジェクトをVisual Studioで実行するだけです。

2015/05/18