私たちのプロジェクトはやはり古いyoctoに基づいています。戦士、これはSoMベンダーによって最初に修正されました。その後、メインラインカーネルが必要なGPU機能をサポートしていないため、FreeScale / NXPカーネルをここに統合しました。
動作させるのにかなり長い時間がかかりましたが、今Qt 5.12で切り替える時間です。戦士Qt 5.15(LTS)から。新しいyoctoバージョンへの移行を避けたいのですが、Meta-qt5レイヤーのチェックアウトだけを変更すると、bitbake
次の問題が発生します。
ERROR: ParseError at meta-qt5/recipes-qt/qt5/qtwebengine_git.bb:83: Could not inherit file classes/features_check.bbclass
私はこれが一連の非互換性問題の最初のものであると予想していたので、問題を解決するための最良の方法が何であるかを自分に尋ねました。
独自のMeta-qt5ブランチを起動し、qt 5.15.8を使用するようにレシピを変更し、現在のMeta-qt5ブランチでのみコミットを選択する必要がありますか?
答え1
私は今同じ問題を抱えています(WarriorベースのBSP、Qt 5.15.2が必要です)。これは私が試して見つけたものです。
- バージョンがあります元QT5そして5.15互換性戦士。ただし、このバージョンは、次のバージョンでは利用できないクラスと機能を使用します。戦士(例:feature_check、mime-xdgなど)ので、どのように機能するのかわかりません。
- 新しいMeta-qt5に必要な機能セットを含む最初のyoctoリリースは次のとおりです。ダンパーだから、他のレイヤを互換性のあるリビジョンに更新しようとしました。ダンパーしかし、おそらく私のプロジェクトのレイヤーの半分は、このyoctoバージョンと互換性のあるバージョンを提供しません。
要約すると、私たちが選択できるオプションは何ですか(または私がすでに知っているもの):
- 手動で実行せずに移植されたレイヤーだけでなく、最新バージョン(poky、Meta-qt5など)もサポートし、互換性のあるレイヤーを更新できます。
- (警告:おそらく悪い考えかもしれません)プロジェクトからMeta-qt5を除いて画像をビルドしてSDKを作成し、プロジェクトSDKのクロスコンパイルとrootfsを使用してソースからQtをクロスコンパイルします。
まだ他の解決策が見つかりませんでした。この問題を解決した場合、またはまだ試している場合は、次のメールで私に連絡してください。[Eメール保護]
PSの評判が足りないため、SEに関する質問については言及できません。 OPの解決策が見つかったら、答えを更新します。
答え2
この投稿bitbake
Yoctoビルドに統合できるように、システム外で選択したQtバージョンを簡単にビルドする方法のチュートリアルが提供されています。これがQtに依存するレシピで機能するかどうかはわかりません。
今はそうしたい衝動もなく、テストする時間もありません。回答をうまく再現したら、回答を更新して受け入れます。
答え3
1つの解決策は、Meta-qt5層を含むようにesdkを変更することです。指示するここで見つけることができます。
しかし、yocto Warriorsと互換性のある最新のMeta-qt5バージョンは5.14.2であるため、多くの問題に直面します。正式にサポートされている項目を維持することをお勧めします。それ以外の場合は、あまりにも多くのビルドエラーを修正する必要があります。