#はじめに
昨日は、@hermit4 さんの「Qtのイベント周りをざっくり見てみよう」でした。Qt のイベント回りは柔軟性が高いので、
さて、12/1 リリース予定でありましたが、Qt6 のリリースがちょっと遅れてしまいましたので、リリース直前となってしまいたしたが、 Qt6 で Qt 3D を試してみたいと思います。
#早速インストール
まずは、早速インストールしてみましょう。今回はメジャーバージョンアップのリリースですのでクリーンインストールしていきます。
最初の印象として、オンラインインストーラーがかなり変わってますね。(見にくいと思うのだけど...。
インストールの途中で、デフォルトで現在の安定板である 5.15.2 をインストール、もしくは、自分で構成を選択できるカスタムインストールが選べます。どちらでも構いません 1 が、Qt6 を入れる必要がありますので、今回は手数の少ないカスタムインストールを選択していきます。
以前は、ここで Qt のバージョン、Qt Charts などいくつかのモジュールを選択することができたのですが、今は下記の5つしか選択できません。あれ、Qt 3D は使えない?
- Qt Quick 3D
- Qt 5 Compatibilyty Module
- Qt Quick Timeline
- Qt Shader Tools
- Qt Debug Information Files
今回から新しく「Additional Libraries」 というカテゴリーが追加されており、そこには下記のモジュールがありました。この中に Qt 3D がありますね。
- Constrained Application Protocol (CoAP)
- Qt 3D
- Qt Image Formats
- Qt MQTT
- Qt Network Authorization
- Qt OPC UA
今後、Qt 直下のモジュールと、Additonal Libraries とはどのように住み分けしていくんでしょうか...
とりあえず、Qt6.0.0-rc2 と Qt 3D を選択してインストールを終えます。
インストールされてる?
Qt Creator からサンプルを起動して、、、あれ、 "3d" で検索しても Qt Quick 3D のサンプルしか出てこない...
どこにインストールされているのか探してみると、下記のフォルダーにインストールされていました。
$HOME/Qt/AdditionalLibraries/Qt/qt3d-6.0.0
インストールされた内容を見てみたら
$ ls -la
total 0
drwxrwxr-x 5 shin1 staff 160 12 6 16:49 ./
drwxrwxr-x 9 shin1 staff 288 12 6 15:58 ../
drwxrwxr-x 3 shin1 staff 96 12 5 21:32 Docs/
drwxrwxr-x 6 shin1 staff 192 12 6 13:13 Examples/
drwxrwxr-x 40 shin1 staff 1280 12 5 21:32 Src/
ソースしかないんですね。。。っえ、自分でビルドしろって事なの...
ビルドしてみる
とりあえず、cmake を実行してみて生成された CMakeCache.txt を眺めてみると、インストール先は下記となっていました。
CMAKE_INSTALL_PREFIX:PATH=/Users/qt/work/install
どこにインストールするのが正解なのかはわかりませんが、Qt 本体と同じフォルダーにインストールするには下記のように指定してください。
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=$HOME/Qt/6.0.0/clang_64 ../Src
$ make -j<並列数>
$ make install
これで本当にインストールできましたw
それでは、サンプルを動かしてみましょう。
サンプルを試してみる
Qt Creator から $HOME/AdditionalLibraries/Qt/qt3d-6.0.0/Examples/qt3d/simple-qml/simple-qml.pro を選んでみたのだけど...
下記のエラーが出てビルドできませんでした。
Project ERROR: Could not find feature qt3d-extras.
リリース前だからなのか、まだサンプルを動作させることはできないようです。早すぎたのですかねw
CMakeCache.txt の下記の箇所を ON にして examples も同時にビルドすれば、サンプルを実行することができました。
//Build Qt examples
QT_BUILD_EXAMPLES:BOOL=OFF
最後に
Qt6 からモジュールの配布形態が変わり、Qt 3D がその対象となってしまったため、Qt 3D を取り上げてみました。残念ながらビルドはできましたが、アプリを動かすまではいかなかったので、時間があればもう一度トライしたいと思います。また、Additional Libraries は、 conan というパッケージマネージャが採用されて、 各モジュールのインストールに関して柔軟性が高められるそうなので 2、次回(があれば)は、今回ビルドできなかった続報と、パッケージマネージャについて書きたいなと思います。
明日は、@Atsushi4 さんですね。乞うご期待。
-
デフォルトでインストールした場合は、再度インストーラーを起動してモジュールを追加してください。 ↩
-
https://www.qt.io/blog/qt-6-additional-libraries-via-package-manager ↩