このページでは

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 (オプション)

上記のように、プラットフォームのデフォルト変数を定義する設定ファイルがいくつかあります:

  • BoardDefaults.qmlprojectconfig Qt 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 ライセンスの下で利用可能です。
詳細はこちら。