このページでは

C

Qt Quick Ultralite Platform Exporter

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

以下の表は、プラットフォームエクスポーターの各オプションがqmlprojectexporterのどのオプションに対応するかを示しています。

platformExporterqmlprojectexporter
--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 Multi IDEを使用するプロジェクトについては、これらが直接サポートされています。

その他のIDEの場合は、以下の手順に従って手動で作業を行ってください。

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

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

    • カスタムボードファイルは、STM32 CubeMXやNXP のMCUXPresso設定ツールなどの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_<アーキテクチャ>-<コンパイラ>-<ビルドタイプ>.a
    • <BUILD_DIR>/libQulShapes_<ARCHITECTURE>-<COMPILER>-<BUILD_TYPE>.a
    • <BUILD_DIR>/libQulControlsTemplates_<アーキテクチャ>-<コンパイラ>-<ビルドタイプ>.a
    • <BUILD_DIR>/libQulTimeline_<アーキテクチャ>-<コンパイラ>-<ビルド_タイプ>.a
    • <BUILD_DIR>/libQulMonotypeUnicodeEngineShaperDisabled_<アーキテクチャ>-<コンパイラ>-<ビルドタイプ>.a
    • <BUILD_DIR>/libQulMonotypeUnicode_<アーキテクチャ>-<コンパイラ>-<ビルド_タイプ>.a

追加情報

QUL_STD_STRING_SUPPORT CMake オプション

コアライブラリがQUL_STD_STRING_SUPPORT オプションを使用してビルドされている場合、プロジェクトの構成時には、このCMakeオプションを使用する必要があります。そうしないと、アプリケーションがクラッシュします。

特定のQtライセンスで利用可能です。
詳細はこちら。