5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

QtAdvent Calendar 2020

Day 6

リリース前だけど Qt6 で Qt 3Dを使ってみよう

Posted at

#はじめに

昨日は、@hermit4 さんの「Qtのイベント周りをざっくり見てみよう」でした。Qt のイベント回りは柔軟性が高いので、

さて、12/1 リリース予定でありましたが、Qt6 のリリースがちょっと遅れてしまいましたので、リリース直前となってしまいたしたが、 Qt6 で Qt 3D を試してみたいと思います。

#早速インストール

まずは、早速インストールしてみましょう。今回はメジャーバージョンアップのリリースですのでクリーンインストールしていきます。
最初の印象として、オンラインインストーラーがかなり変わってますね。(見にくいと思うのだけど...。
インストールの途中で、デフォルトで現在の安定板である 5.15.2 をインストール、もしくは、自分で構成を選択できるカスタムインストールが選べます。どちらでも構いません 1 が、Qt6 を入れる必要がありますので、今回は手数の少ないカスタムインストールを選択していきます。

以前は、ここで Qt のバージョン、Qt Charts などいくつかのモジュールを選択することができたのですが、今は下記の5つしか選択できません。あれ、Qt 3D は使えない?

installer0.png

  • Qt Quick 3D
  • Qt 5 Compatibilyty Module
  • Qt Quick Timeline
  • Qt Shader Tools
  • Qt Debug Information Files

installer1_1.png

今回から新しく「Additional Libraries」 というカテゴリーが追加されており、そこには下記のモジュールがありました。この中に Qt 3D がありますね。

  • Constrained Application Protocol (CoAP)
  • Qt 3D
  • Qt Image Formats
  • Qt MQTT
  • Qt Network Authorization
  • Qt OPC UA

今後、Qt 直下のモジュールと、Additonal Libraries とはどのように住み分けしていくんでしょうか...

installer2.png

とりあえず、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

qt3d-sample.png

最後に

Qt6 からモジュールの配布形態が変わり、Qt 3D がその対象となってしまったため、Qt 3D を取り上げてみました。残念ながらビルドはできましたが、アプリを動かすまではいかなかったので、時間があればもう一度トライしたいと思います。また、Additional Libraries は、 conan というパッケージマネージャが採用されて、 各モジュールのインストールに関して柔軟性が高められるそうなので 2、次回(があれば)は、今回ビルドできなかった続報と、パッケージマネージャについて書きたいなと思います。

明日は、@Atsushi4 さんですね。乞うご期待。

  1. デフォルトでインストールした場合は、再度インストーラーを起動してモジュールを追加してください。

  2. https://www.qt.io/blog/qt-6-additional-libraries-via-package-manager

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?