C

Qt Quick Ultralite 平台导出工具

自 Qt for MCUs 2.8 版本以来,平台导出工具中移除了一些功能。此工具不应再直接由客户使用。请改用 qmlprojectexporter

以下表格显示了哪些平台导出工具选项转换为 qmlprojectexporter 选项。

platformExporterqmprojectexporter
--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 集成到您的项目中

这是一个示例 main.cpp,展示将导出的 UI 和平台源代码集成到您项目中所需的代码。

#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 可生成资源的二进制文件(incbin)。在这种情况下,需要将 qul_font_files_loader.Squl_assets.S 添加到源代码中。此选项仅适用于 GNU GCC 编译器。对于其他编译器,资源将作为 C++ 数组生成。
  3. 添加包含引脚复用、时钟配置和硬件初始化代码的板级文件。

    您可以通过以下任一选项添加这些文件

    • 可以使用 MCU 供应商工具(如 STM32 CubeMX 或 NXP MCUXPresso 配置工具)生成自定义板级文件。
    • 使用平台导出工具,结合--include-ide-generated-hw-code选项来导出Qt为MCU提供的参考板文件。您还可以使用--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应用程序的链接器脚本需要为资源数据和缓存定义自定义部分。平台导出工具导出的链接脚本可以直接在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选项的情况下构建的,则配置项目时需要使用架构的QUL_STD_STRING_SUPPORT CMake选项。否则应用程序会崩溃。

在特定的Qt许可证下提供。
了解更多信息。