このページでは

C

Qt Quick ウルトラライトプラットフォームエクスポーター

Qt for MCUs 2.8以降、プラットフォームエクスポーターツールからいくつかの機能が削除されました。このツールは顧客が直接使用することは想定されていません。代わりにqmlprojectexporterを使用してください。

以下の表は、どのplatform exporterオプションがqmlprojectexporterオプションに変換されるかを示しています。

プラットフォームエクスポーターqmprojectexporter
--builddir--qul-build-dir
--outputformat--project-type
--sdkdir--board-sdk
--includeIDEgeneratedHWCode--include-ide-generated-hw-code
--IDEsourcesdir--ide-sources-outdir
--outdir--platform-outdir

qmlprojectexporter を使ってプラットフォームをエクスポートする例:

qmlprojectexporter
    --platform <platform>
    --toolchain <toolchain>
    --no-export-qml
    --qul-source-dir <QulDir>
    --qul-build-dir <BuildDir>
    --project-type <type>
    --board-sdk <boardSdk>
    --platform-outdir <exportDir>
    --include-ide-generated-hw-code
    --ide-sources-outdir <outdir_for_3rdparty_sources>

Qt for MCUs をプロジェクトに統合する

これは、エクスポートされたUIとプラットフォームのソースをプロジェクトに統合するために必要なコードを示す、main.cpp の例です。

#include "minimal.h"

#include <qul/application.h>
#include <qul/qul.h>

int main()
{
    Qul::initHardware();
    Qul::initPlatform();
    Qul::Application _qul_app;
    static struct ::minimal _qul_item;
    _qul_app.setRootItem(&_qul_item);
#ifdef APP_DEFAULT_UILANGUAGE
    _qul_app.setUiLanguage(APP_DEFAULT_UILANGUAGE);
#endif
    _qul_app.exec();
    return 0;
}

IDEの設定

エクスポートしたソースをサードパーティのIDEやビルドシステムに統合するには、以下の手順に従ってください。CMakeまたはGHS Mutli IDEを使用するプロジェクトの場合、これらは直接サポートされます。

その他のIDEについては、手動で以下の手順に従ってください。

  1. エクスポートしたプラットフォームとアプリケーションのソースファイルをIDEのプロジェクトに追加します。
  2. プロジェクトのソース リストにアセンブリ ソース ファイルを追加します。プロジェクトのソースリストに --toolchain GNUをqmlprojectexporterに渡すと、リソース用のバイナリファイル(incbin)が生成されます。その場合、qul_font_files_loader.Squl_assets.S をソースに追加する必要があります。このオプションはGNU GCCコンパイラーにのみ適用されます。他のコンパイラでは、リソースは C++ 配列として生成されます。
  3. ピン・マキシング、クロック・コンフィギュレーション、ハードウェア初期化コードを含むボード・ファイルを追加します。

    これらのファイルは、以下のオプションのいずれかを使用して追加できます:

    • カスタム・ボード・ファイルは、STM32 CubeMXやNXP MCUXPresso configツールなどのMCUベンダー・ツールを使用して生成できます。
    • 使用方法 --include-ide-generated-hw-codeプラットフォーム・エクスポーターを使用して、Qt for MCUs がリファレンス・ボード用に提供するボード・ファイルをエクスポートします。また --ide-sources-outdir <folderpath>オプションを使用してターゲット・ディレクトリを指定することもできます。

    例えば

    <QUL_DIR>/bin/qmlprojectexporter.exe \
        --platform-metadata <BUILD_DIR>/lib/QulPlatformTargets_<PLATFORM_NAME>-export.json \
        --project-type cmake \
        --no-export-qml \
        --outdir <DESTINATION_FOLDER> \
        --platform-build-dir <BUILD_DIR> \
        --include-ide-generated-hw-code \
        --ide-sources-outdir <IDE_PROJECT_ROOT_DIR>/board
  4. インクルード・パス、事前定義、ツールチェイン・フラグを追加する。

    <PLATFORM_EXPORT_DIR>/IDE-Import-Instructions.txt ファイルには、プロジェクトに必要なすべてのコンパイラーとリン カーの設定がリストされています。これには、アーキテクチャー・フラグ、インクルード・パス、使用中のツールチェインのプリプロセッサー定義が含まれます。

  5. プロジェクトのリンカ設定に、エクスポートされたリンカ・スクリプトへのパスを追加します。

    Qt Quick Ultralite アプリケーション用のリンカ・スクリプトでは、リソース・ データとキャッシュ用にカスタム・セクションを定義する必要があります。Platform Exporter ツールからエクスポートされたリンカ・スクリプトは、IDE で直接使用できます。

    ARMGCCの場合: <QUL_EXPORT_FOLDER>/platform/boards/nxp/<board>/cmake/armgcc/<linker_file>.ld IAR用:<QUL_EXPORT_FOLDER>/platform/boards/nxp/<board>/cmake/iar/<linker_file>.icf

  6. リンカ設定に、以下のプリビルドQt Quick Ultralite ライブラリを追加します:
    • <BUILD_DIR>/libQulCore_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulControls_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulPNGDecoderLodePNG_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulPNGDecoderNull_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulShapes_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulControlsTemplates_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulTimeline_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulMonotypeUnicodeEngineShaperDisabled_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulMonotypeUnicode_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a

追加情報

QUL_STD_STRING_SUPPORT CMakeオプション

このアーキテクチャでは、コア・ライブラリがビルドされた場合、プロジェクトのコンフィギュレーション時にQUL_STD_STRING_SUPPORT CMake オプションを使用する必要があります。そうしないとアプリケーションがクラッシュします。

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