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については、手動で以下の手順に従ってください。
- エクスポートしたプラットフォームとアプリケーションのソースファイルをIDEのプロジェクトに追加します。
- プロジェクトのソース リストにアセンブリ ソース ファイルを追加します。プロジェクトのソースリストに
--toolchain GNUをqmlprojectexporterに渡すと、リソース用のバイナリファイル(incbin)が生成されます。その場合、qul_font_files_loader.Sとqul_assets.Sをソースに追加する必要があります。このオプションはGNU GCCコンパイラーにのみ適用されます。他のコンパイラでは、リソースは C++ 配列として生成されます。 - ピン・マキシング、クロック・コンフィギュレーション、ハードウェア初期化コードを含むボード・ファイルを追加します。
これらのファイルは、以下のオプションのいずれかを使用して追加できます:
- カスタム・ボード・ファイルは、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
- インクルード・パス、事前定義、ツールチェイン・フラグを追加する。
<PLATFORM_EXPORT_DIR>/IDE-Import-Instructions.txtファイルには、プロジェクトに必要なすべてのコンパイラーとリン カーの設定がリストされています。これには、アーキテクチャー・フラグ、インクルード・パス、使用中のツールチェインのプリプロセッサー定義が含まれます。 - プロジェクトのリンカ設定に、エクスポートされたリンカ・スクリプトへのパスを追加します。
Qt Quick Ultralite アプリケーション用のリンカ・スクリプトでは、リソース・ データとキャッシュ用にカスタム・セクションを定義する必要があります。Platform Exporter ツールからエクスポートされたリンカ・スクリプトは、IDE で直接使用できます。
ARMGCCの場合:
<QUL_EXPORT_FOLDER>/platform/boards/nxp/<board>/cmake/armgcc/<linker_file>.ldIAR用:<QUL_EXPORT_FOLDER>/platform/boards/nxp/<board>/cmake/iar/<linker_file>.icf - リンカ設定に、以下のプリビルド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 ライセンスの下で利用可能です。
詳細を確認してください。