C
プロジェクトの設定
このガイドでは、例としてexample-baremetal というプラットフォームを使用し、移植の手順を説明します。この例を基にプラットフォームの移植版を作成することも、一から作成することも可能です。
Qt Quick Ultralite プラットフォーム移植プロジェクトの設定
Qt Quick Ultraliteでは、サポートされているすべてのプラットフォームがplatform\boards ディレクトリ下にあり、プラットフォームのメーカー名に基づいて分類されています。たとえば、example-baremetal プラットフォームポートのメーカーはqtであり、このポートはplatform\boards\qt\example-baremetal から確認できます。
変数BOARD_MANUFACTURER_NAME は CMake 内で自動的に設定され、ボードが検出されたメーカーフォルダの名前が含まれます。
Qt Quick UltraliteのCMakeスクリプトからプラットフォームを認識させるには、そのプラットフォーム用の新しいディレクトリを作成してください:
mkdir -p platform/boards/<MANUFACTURER_NAME>/<YOUR_PLATFORM>md platform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>なお、<MANUFACTURER_NAME> および<YOUR_PLATFORM> は、問題が発生しないよう小文字の名称にする必要があります。
注: 公式にサポートされているプラットフォーム名には「baremetal 」や「freertos 」などの接尾辞が付いていますが 、プラットフォーム名にこのようなOSの接尾辞を含めることは厳密な要件ではありません。
プロジェクト構造
Qt Quick Ultralite では特定のプロジェクト構造が必要となります。このガイドに従って作成してください。
- 📁 <MANUFACTURER_NAME>
- 🗎 CMakeLists.txt
- 📁 <YOUR_PLATFORM>
- 🗎 CMakeLists.txt
- 📁 cmake
- 📁 <YOUR_COMPILER>
- 🗎 <YOUR_LINKER_SCRIPT>
- 🗎 BoardArchitectureConfig.cmake
- 🗎 BoardDefaults.qmlprojectconfig
- 🗎 BSPConfig.cmake (オプション)
- 🗎 LinkerScriptConfig.cmake (オプション)
- 🗎 ExecutableHook.cmake (オプション)
- 📁 <YOUR_COMPILER>
上記のように、プラットフォームのデフォルト変数を定義する設定ファイルがいくつかあります:
BoardDefaults.qmlprojectconfigQt Quick には、ターゲットボード向けのUltraliteエンジン固有の設定が含まれています。BoardArchitectureConfig.cmakeプラットフォームのアーキテクチャに関する情報が含まれています。LinkerScriptConfig.cmakeリンカースクリプトの設定が含まれており、これについては後の章で説明します。- プラットフォーム固有のビルドシステム設定は、
CMakeLists.txt
メーカー固有の CMakeLists.txt
<MANUFACTURER_NAME> フォルダの下に、少なくとも以下の内容を含むCMakeLists.txt ファイルを追加してください:
include(CMakeDependentOption)
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/${QUL_PLATFORM})cmake ディレクトリ
Qt Quick がプラットフォームを認識してコンパイルを行うには、プロジェクトに、 Ultralite用のコンパイラおよびボード情報を含むplatform\<BOARD_MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake ディレクトリが必要です。platform\boards\qt\example-baremetal\cmake ディレクトリを、お使いのプラットフォームのcmakeディレクトリのベースとして使用できます。
cmake ディレクトリに必要なファイルは、上記のディレクトリ構造に示されています。
なお、example-baremetal プロジェクトのcmake ディレクトリには、ARM GCCコンパイラおよびIARコンパイラ用の設定が含まれています。ARM GCC、Green Hills for V850またはARM、あるいはIAR for ARMコンパイラ以外のコンパイラを使用する場合は、追加の設定が必要となります。詳細については、「カスタムツールチェーンの使用」を参照してください。
CPUアーキテクチャの設定
Qt Quick Ultralite には、サポートされている一連の CPU アーキテクチャが用意されています。その一覧は `platform/architecture/ ` 内にあり、最も一般的な Cortex-M アーキテクチャが含まれています。
デフォルトのアーキテクチャのいずれかを使用するには、次のように `<MANUFACTURER_NAME>/<YOUR_PLATFORM>/BoardArchitectureConfig.cmake ` を作成してください:
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial
set (QUL_PLATFORM_ARCHITECTURE "cortex-m7-hf-fpv5-d16")一方、カスタムアーキテクチャが必要な場合は、「カスタムアーキテクチャの使用」を参照し、<YOUR_COMPILER> フォルダ内に独自のアーキテクチャを作成する方法を確認してください。
set(QUL_PLATFORM_ARCHITECTURE SomeCustomName)
set(QUL_PLATFORM_ARCHITECTURE_FILE "${CMAKE_CURRENT_LIST_DIR}/${QUL_COMPILER_NAME}/architecture.cmake")特定の Qt ライセンスの下で利用可能です。
詳細はこちら。