このページでは

C

アーキテクチャとプラットフォーム固有のビルド設定

Qt Quick Ultraliteはコアライブラリとプラットフォームライブラリに分かれています。これらの各コンポーネントのコンパイル設定は、複数のプロジェクトで再利用できます。

BoardArchitectureConfig.cmakeQUL_PLATFORM_ARCHITECTURE CMake 変数を使用して、ボードのアーキテクチャを設定します。

set (QUL_PLATFORM_ARCHITECTURE "cortex-m7-hf-fpv5-d16")

Qt Quick Ultraliteでサポートされているデフォルトのアーキテクチャは、platform\architecture にあります。CMakeは、与えられた文字列に対して一致するアーキテクチャを探し、そのために定義されたプリセットをロードします。

カスタムアーキテクチャの使用

お使いの CPU が定義済みのアーキテクチャのどれにも当てはまらない場合、独自のアーキテクチャを作成することができます。既存のアーキテクチャと衝突しないカスタムアーキテクチャ名と、カスタムアーキテクチャ設定を含むファイルの場所を指定する必要があります。

set(QUL_PLATFORM_ARCHITECTURE SomeCustomName)
set(QUL_PLATFORM_ARCHITECTURE_FILE "${CMAKE_CURRENT_LIST_DIR}/${QUL_COMPILER_NAME}/architecture.cmake")

上記の2つの変数を設定すると、他のすべてのアーキテクチャ処理は無効になります。platform\architecture にあるファイルのいずれかを、カスタムファイルのベースとして使用することができます。

設定の伝達

プロジェクトのさまざまな部分のコンパイル設定を渡すために、CMake インターフェースライブラリが使用されます。これらは実際のライブラリではありませんが、設定を継承することができます。これらの設定をアプリケーションに継承するためには、それらに対してリンクする必要があります。標準的な使用では、qul_add_target を使用してアプリケーションを登録すると、これは自動的に行われます。

利用可能なコンパイル設定

アーキテクチャ

ライブラリ・ターゲットQul::PlatformArchitecture には、CPU アーキテクチャに固有の設定が含まれています。

# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial
target_link_options(PlatformArchitecture INTERFACE
    -mthumb
    -mfloat-abi=hard
    -mfpu=fpv5-d16
    -mcpu=cortex-m7
)
target_compile_options(PlatformArchitecture INTERFACE
    -mthumb
    -mcpu=cortex-m7
    -mfloat-abi=hard
    -mfpu=fpv5-d16
    -fno-common
    -ffunction-sections
    -fdata-sections
    -ffreestanding
    -fno-builtin
)

プラットフォーム

Qul::Platform ライブラリには、Qt Quick Ultralite が提供する API を使用するアプリケーショ ンのための、プラットフォーム固有の設定が含まれています。

プラットフォームSDK設定

ライブラリQul::PlatformBSPConfig には、SDK固有の関数やヘッダーにアクセスする必要があるアプリケーションに必要な設定が含まれています。ハードウェア固有のコンテキスト関数や割り込みハンドラのようなものです。Qt Quick Ultraliteが提供するAPIのみを使用するアプリケーションは、これをリンクする必要はありません。

ベンダーSDK固有の設定の指定については、移植ガイドを参照してください。

リンカスクリプト

ライブラリQul::PlatformDefaultLinkerScript には、デフォルトのリンカスクリプトの設定が含まれています。これらの設定は、各プラットフォームのLinkerScriptConfig.cmake で CMake 関数を呼び出して指定します。

qul_platform_add_default_linker_script(<LINKER_SCRIPT_FILE>)

例については、リンカースクリプトの追加を参照してください。

この関数は、プラットフォームが複数のリンカースクリプトを必要とする場合に、複数回呼び出すことができます。この関数は、各リンカースクリプトをライブラリQul::PlatformDefaultLinkerScript に追加します。

リンカ・スクリプトをアプリケーションに渡すには、このライブラリに対してリン クを行う必要があります。関数qul_add_target を使用してアプリケーションを追加する場合、これは自動的に行われます。

リンカ・スクリプトを自分で処理し、自動処理を行わないようにしたい場合は、変数QUL_NO_DEFAULT_LINKER_SCRIPT を設定します。これにより、リンカ・スクリプトがアプリケーションに追加されなくなります。

コア・ライブラリのカスタム最適化

通常、コア・ライブラリはプラットフォームに依存せずに構築されます。お使いのプラットフォームでコア・ライブラリのカスタム・コンパイル設定が必要な場合、例えば最適化のために、coreLibrary.cmake をお使いのプラットフォームのcmake フォルダーに作成することができます。このファイルは、Core ターゲットに追加のフラグを設定することができます。

注: このファイルは、Qt Quick Ultraliteコア・ライブラリとプラットフォーム・ライブラリが一緒にビルドされる場合にのみロードされます。

特定の Qt ライセンスの下で利用可能です。
詳細を確認してください。