2. Qt Creator

下面介绍主机上 Qt Creator 的使用说明,在操作前,请先安装、配置好 Qt 交叉编译环境和运行环境

Buildroot Qt 环境配置教程在 Buildroot 开发

Ubuntu Qt 环境配置教程在 Ubuntu 使用手册

2.1. 安装

进入 Qt 官方下载页面,选择一个版本下载 qt-creator-opensource-linux-x86_64-x.x.x.run,下载完成之后,在终端执行./xxxx.run运行安装,注意文件需要有执行权限。

2.2. 配置

下面以 firefly-qt-5.12.2-aarch64 环境作为例子进行配置,目标平台是 Buildroot 系统:

安装完成后,启动 Qt Creator,打开菜单 Tools -> Options,找到 Kits。

  • 配置 Qt Versions
    点击右侧 add 按钮添加,选择 Qt 环境安装位置中的 qmake 即可
    qmake:/opt/firefly-qt-5.12.2-aarch64/host/bin/qmake

qt creator编译ios qtcreator 编译器配置_Qt

  • 配置 Compilers
    点击右侧 add 按钮添加 gcc 和 g++ 交叉编译器的位置
    如果主机安装了 crossbuild-essential-arm64,则编译器就在 /usr/bin/ 下
    如果使用了第三方的交叉编译器,找到安装位置并添加即可
    如果目标平台是 Buildroot,则需要使用 Buildroot Qt 环境包中的编译器
    g++:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-g++gcc:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-gcc

qt creator编译ios qtcreator 编译器配置_Qt_02

qt creator编译ios qtcreator 编译器配置_qt creator编译ios_03

为方便调试,配置 Debuggers 和 Devices 用于在线调试:

  • 配置 Debuggers
    点击右侧 add 按钮添加 gdb
    选择和上一步使用的编译器处于相同位置的 gdb
    gdb:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-gdb

qt creator编译ios qtcreator 编译器配置_Ubuntu_04

  • 配置 Devices
    设置好设备的 IP、用户名 (root) 和密码 (firefly) 。为了方便调试,可以在设备上设置静态 IP。

qt creator编译ios qtcreator 编译器配置_qt creator编译ios_05

  • 配置 Kits
    将前面设置的配置项添加到 Kits。
    如果目标平台是 Ubuntu 系统,这一步也需要添加 sysroot 的路径

qt creator编译ios qtcreator 编译器配置_Ubuntu_06

2.3. 编译运行

打开 demo 程序,Welcome -> Open Project,选择要使用的 Kits:

qt creator编译ios qtcreator 编译器配置_Ubuntu_07

之后打开 Projects -> Run,配置命令行参数,这里设置为 -platform wayland

目标平台是 Ubuntu 则使用 -platform xcb (Ubuntu 桌面环境),或者根据需要选择 linuxfbeglfs

qt creator编译ios qtcreator 编译器配置_Ubuntu_08

配置环境变量,即 export XDG_RUNTIME_DIR=/tmp/.xdg

RK356X Buildroot 则需要使用 /var/run 而不是 /tmp/.xdg

目标平台是 Ubuntu 则需要根据之前设置的 platform 添加不同的环境变量,详情在 Qt 环境包中的说明文件中

qt creator编译ios qtcreator 编译器配置_qt creator编译ios_09

编译运行:

点击 Build 交叉编译 Qt 程序;点击 Run 或 Debug 在设备上运行或调试程序。要重新运行程序时,记得手动点击 Stop 关闭已经运行的程序。

qt creator编译ios qtcreator 编译器配置_Qt_10

编译生成目录和 demo 目录在同一位置。

Next  Previous