質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Q&A

解決済

1回答

4594閲覧

ラズベリーパイ3にインストールした Qt Creator で、 Qt Quick アプリがビルドできないのを解決したい

tenma

総合スコア13

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

0グッド

0クリップ

投稿2021/04/16 03:53

前提・実現したいこと

ラズベリーパイ3にインストールした Qt Creator で、 Qt Quick アプリがビルドできないのを解決したい。

Qt公式サイトが配布しているオンラインインストーラーバイナリはラブパイでは使えないので、apt で Qt Creator 他をインストールしました。

Linuxを始めて日が浅いので、現時点ではソースコードからのビルドは考えていません。

よろしくお願い申し上げます。

発生している問題・エラーメッセージ

「該当のソースコード」の通り、コンポーネントを認識しない他のエラーが出てビルドできません。 具体的には、

・Qt creator で swipe テンプレートでプロジェクトを作る。 main.qml ソースリスト中のタグ名の横に「未知のコンポーネントです。 (M300)」他が警告表示されます。 scroll , stack テンプレートも同様です。

・Qt Quick control を用いていないと思われる empty テンプレートはビルド&実行できます。 QML は認識している様です。

該当のソースコード

swipe テンプレートで展開したプロジェクトの main.qml 全文と警告表示です。

import QtQuick 2.12 import QtQuick.Controls 2.5 ApplicationWindow { width: 640 height: 480 visible: true title: qsTr("Tabs") SwipeView { 未知のコンポーネントです。 (M300) id: swipeView anchors.fill: parent currentIndex: tabBar.currentIndex Page1Form { "Page1Form" のプロトタイプ "page" を解決できませんでした。 (M301) } Page2Form { "Page2Form" のプロトタイプ "page" を解決できませんでした。 (M301) } } footer: TabBar { 無効なプロパティ名 "footer" です。 (M16) 未知のコンポーネントです。 (M300) id: tabBar currentIndex: swipeView.currentIndex TabButton { 未知のコンポーネントです。 (M300) text: qsTr("Page 1") } TabButton { 未知のコンポーネントです。 (M300) text: qsTr("Page 2") } } }

試したこと

(1) Raspberry-pi OS は数日前に入手した 32bit 最新版を使用

(2) webのインストール例に倣い、apt-get install qtcreator qt-sdk qtbase5-dev libgl1-mesa-dev qt5-default build-essential libgl1-mesa-dev gdb
⇒ Qt creator で件の警告が表示されビルドできない。

(3) qt5* でパッケージ名を取得してスクリプトファイルに書き出し、全部インストール
⇒ (2)と同じ。 なお、(3)を KALI Linux で行うとビルド&実行できた。

(4) Raspberry-pi OS 64bi版はブート途中でフリーズし検証不可能。 SDカード書き込みは公式ツールを使用。

(5) Raspberry-pi-desktop でも (2)(3) を試したが結果は同じ。

補足情報(FW/ツールのバージョンなど)

Qt Creator 4.8.2
Qt 5.11.3 (GCC 8.3.0,32bit)

参考にしたサイトの動作確認は Qt Quick control ではなく Qt widgets の様です。

ソースからビルドするサイトはビルド完了から先が書かれていません。

なので、そもそもラズパイで Qt Quick control が使えるのか疑問に感じてきました。

なお、オンラインインストーラーで導入した Windows10 / KALI Linux は普通にビルド&実行できています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Qt Quick Controls 2 を利用する場合は以下のパッケージが必要となります

  • qtquickcontrols2-5-dev

投稿2021/04/16 16:12

tasuku.

総合スコア347

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tenma

2021/04/20 03:12

ご回答ありがとうございます。 qtquickcontrols2-dev を追加しても状況は変わりませんでしたが、頭が切り替わりました。 "qt quick control" に絞って調べたところ、ビンゴの質問が stack overflow にありました。 https://stackoverflow.com/questions/41551845/module-qtquick-controls-is-not-installed-on-raspberry-pi 双方の回答をミックスしたらビルド&実行できる様になりました。 特に根拠はありませんが、関連パッケージも一緒にインストールする様にして qtcreator qtbase5-* qt5* qt3d* qtdeclarative5-* qml* qtquickcontrols2-* qtquickcontrols5-* build-essential libgl1-mesa-* gdb に落ち着きました。 質問文にあった qt-sdk は Qt4 のフレームワークの様で、私には必要ないので削除しました。 各パッケージの違いは良くわかっていませんが、とりあえず今はこれで良しとしました。 サンプルプロジェクトはビルドできるものもあればエラーで先に進めないものもありますが、解決できるスキルがないので放置しています。 自作アプリでエラーが出れば改めて調べます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問