Kickpi-Book
  • KICKPI Document
  • K5(A133)
    • A133中文文档
      • 02-KICKPI-K5C硬件介绍
      • 02-KICKPI-K5硬件介绍
      • 10-系统镜像烧录
      • 11-SDK源码编译
      • 12-硬件功能使用说明
      • 13-硬件工厂测试
      • 20-LCD功能调试
      • 21-LRADC按键配置
      • 31-Android10.0 Tablet系统定制
      • 32-Ubuntu16.04 系统定制
      • 33-Kernel 驱动定制
      • 34-K5C主板供电
  • K2B/K2C(H618)
    • zh
      • 01-主板介绍
        • 01-KICKPI-K2B硬件介绍
        • 02-KICKPI-K2C硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 03-功能测试
        • 04-扩展引脚
      • 03-镜像烧录
        • 01-SD卡烧录
        • 02-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-LINUX_SDK源码编译
        • 2. Android SDK编译
      • 05-外设驱动
        • RTC
      • 06-Android系统定制
        • Android常用系统定制
      • 07-Linux系统定制
        • Linux常用系统定制
      • 08-进阶
        • 14-Secure Boot
        • 硬件工厂测试
        • 44-Keybox
  • K1/K1B/K3/K8(RK3568/RK3562/RK3588)
    • zh
      • 01-主板介绍
        • 01-RK芯片对比介绍
        • 02-KICKPI-K1硬件介绍
        • 03-KICKPI-K1B硬件介绍
        • 04-KICKPI-K3硬件介绍
        • 06-KICKPI-K8硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 02-快速使用
        • 02-快速使用
        • 03-功能测试
        • 04-拓展引脚
      • 03-镜像烧录
        • 01-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-LINUX SDK 编译
        • 03-ANDROID SDK 编译
      • 05-外设驱动
        • GPIO
        • Kernel
        • LCD
        • PWM
        • RTC
      • 06-ANDROID系统定制
        • 01-Android常用系统定制
        • 07-Android NPU YOLOV5 目标检测
      • 07-LINUX系统定制
        • 01-Linux常用系统定制
        • 02-Linux安装VNC
        • 03-Linux Docker环境搭建
        • 04-Linux QT环境搭建
        • 05-Linux NPU YOLOV5S 目标检测
      • 08-进阶
        • 01-硬件工厂测试
        • 02-硬件老化测试
        • 03-固件解包和打包
  • K7(RK3576)
    • zh
      • 01-主板介绍
        • 01-KICKPI-K7硬件介绍
      • 02-入门必读
        • 01-网盘目录说明
        • 02-快速使用
        • 03-功能测试
        • 04-拓展引脚
      • 03-镜像烧录
        • 01-获取镜像文件
        • 02-USB线烧录
      • 04-SDK编译
        • 01-编译环境搭建
        • 02-Linux_SDK编译
        • 03-Android_SDK编译
      • 05-外设驱动
        • ADC
        • PWM
      • 06-ANDROID系统定制
        • 01-Android常用系统定制
      • 07-LINUX系统定制
        • 01-Linux常用系统定制
        • 02-Linux Docker环境搭建
        • 03-Linux NPU YOLOV5S 目标检测
        • 04-Linux_Deepseek大模型
        • 05-Linux_VNC远程控制
      • 08-进阶
        • ADB功能使用
        • 进阶测试
  • K4B(T113-S3)
    • T113-S3中文文档
      • 01-KICKPI-K4B硬件介绍
      • 10-系统镜像烧录
      • 11-SDK源码编译
      • 12-硬件功能测试
      • 13-硬件工厂测试
      • LCD功能调试
      • 20-Ubuntu20.04系统定制
      • Buildroot_QT5配置
      • Buildroot系统定制
  • common
    • zh
      • adb
        • ADB教程
      • android
        • 02-ADC
      • bluetooth
        • bootanimation
      • display
        • FPC接口介绍
      • linux
        • SSH
        • bluetoothctl教程
        • qt
Powered by GitBook
On this page
  • 1. QT运行环境测试
  • Ubuntu20.04
  • Debian11
  • 2. QT交叉编译环境搭建
  • gcc交叉编译工具
  • qmake工具安装
  • 安装qtcreator
  • QT交叉编译的Kit配置
  1. K1/K1B/K3/K8(RK3568/RK3562/RK3588)
  2. zh
  3. 07-LINUX系统定制

04-Linux QT环境搭建

1. QT运行环境测试

Ubuntu20.04

Ubuntu20.04系统默认配置好QT5.12.8运行环境

查看QT库:

$ ls -l /usr/lib/aarch64-none-linux-gnu/libQt*

测试demo位于网盘目录:

3-SoftwareData软件资料\Qt_demo\mainwindow

将demo拷贝进系统任意目录下,进行测试:

$ sudo chmod +x ./mainwindow
$ sudo ./mainwindow

Debian11

Debian11系统默认配置好QT5.15.2运行环境

查看QT库:

$ ls -l /usr/lib/aarch64-none-linux-gnu/libQt*

测试demo位于网盘目录:

3-SoftwareData软件资料\Qt_demo\mainwindow

将demo拷贝进系统任意目录下,进行测试:

$ sudo chmod +x ./mainwindow
$ sudo ./mainwindow

2. QT交叉编译环境搭建

测试平台:虚拟机Ubuntu20.04

gcc交叉编译工具

虚拟机:

可以在网盘中获取,网盘路径:

rk356x_data\3-SoftwareData软件资料\gcc

SDK自带交叉编译工具链:(不推荐,会出现版本不兼容)

(SDK)/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/
  • gcc 交叉编译链安装

将获取的压缩包放到虚拟机目录下进行解压

$ sudo tar -xvf gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz -C /opt/gcc-arm

-C /opt/gcc-arm 指定解压出的路径

  • 配置环境变量

为了让系统能够识别交叉编译工具链,需要将其路径添加到环境变量中。

临时生效(仅当前终端会话有效) 运行以下命令:

$ export PATH=/opt/gcc-arm/bin:$PATH

永久生效 编辑用户或系统的环境变量配置文件。

$ sudo vim /etc/profile
export PATH=/opt/gcc-arm/bin:$PATH
source /etc/profile

验证安装 运行以下命令验证是否成功安装并配置了工具链:

aarch64-none-linux-gnu-gcc --version

如果输出类似以下内容,则说明安装成功:

aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture) 9.2.1 20191203
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

qmake工具安装

如果是想在板子上安装QT,在板子上安装gcc,无需修改编译工具,安装源码即可

​ qmake工具是用于Qt项目根据工程文件.pro生成MakeFile的工具。对于简单的工程,只需要在工程的顶层目录运行qmake。默认情况下,qmake会生成一个构建工程的MakeFile,此时可以运行平台相关的make工具构建工程。

  • 网盘只提供一个版本的QT

rk356x_data\5-DevelopmentTools开发工具\QT
  • 官网下载Qt

官网链接:

访问官网选择下载需要的版本

选择single

选择tar.xz

安装依赖

$ sudo apt-get install build-essential perl python3 git
$ sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
$ sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
$ sudo apt-get install libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison nodejs
$ sudo apt-get install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev 
$ sudo apt-get install libgstreamer-plugins-bad1.0-dev
$ sudo apt install clang libclang-dev
$ sudo apt-get install xz-utils
$ sudo ln -s /usr/bin/python3 /usr/bin/python

下载后进行解压在opt文件夹中

$ sudo tar -xvf qt-everywhere-src-5.12.2.tar.xz -C /opt/

解压完成后进入文件夹,并建立auto.sh脚本文件。

$ sudo vim auto.sh
#!/bin/bash

./configure \
    -prefix /opt/Qt/ \
    -opensource -confirm-license \
    -nomake examples \
    -nomake tests \
    -release \
    -xplatform linux-aarch64-gnu-g++ \
    -device-option CROSS_COMPILE=/opt/gcc-arm/bin/aarch64-none-linux-gnu- \
    -no-eglfs \
    -no-xcb \
    -no-opengl \
    -skip qt3d \
    -skip qtcharts \
    -skip qtandroidextras \
    -skip qtlocation \
    -skip qtmultimedia \
    -skip qtsensors \
    -skip qtserialbus \
    -skip qtserialport \
    -skip qtwayland \
    -skip qtdeclarative \
    -skip qtxmlpatterns \
    -skip qtwebchannel \
    -skip qtwebengine \

修改qmake.conf文件

QT源码中的qtbase/mkspecs/目录下有各种不同的平台,我们示例中使用的是linux-aarch64-gun-g++目录下的qmake配置文件,但是交叉工具不一样,得修改qmake.conf文件以适配工具

# modifications to g++.conf
QMAKE_CC                =/opt/gcc-arm/bin/aarch64-none-linux-gnu-gcc
QMAKE_CXX               =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK              =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK_SHLIB        =/opt/gcc-arm/bin/aarch64-none-linux-gnu-g++
 
# modifications to linux.conf
QMAKE_AR                =/opt/gcc-arm/bin/aarch64-none-linux-gnu-ar cqs
QMAKE_OBJCOPY           =/opt/gcc-arm/bin/aarch64-none-linux-gnu-objcopy
QMAKE_NM                =/opt/gcc-arm/bin/aarch64-none-linux-gnu-nm -P
QMAKE_STRIP             =/opt/gcc-arm/bin/aarch64-none-linux-gnu-strip

运行脚本交叉配置QT源码

$ sudo chmod 755 auto.sh
$ sudo ./auto.sh

脚本是为了执行./configure -prefix /opt/Qt/ \ Qt安装路径 -opensource -confirm-license \ 安装版本,社区版还是商业版 -nomake examples \ 不编译安装例子 -nomake tests \ 不编译安装测试 -release \ release编译 -xplatform \指定目标平台 -skip \跳过编译模块

qtlocation qtwebengine ,如果不是特别需要这两个模块,建议放弃编译 这些命令在解压后的README中有说明 执行后根据提示进行改进,大部分提示错误是依赖安装不全

执行编译

$ sudo make -j4

时间较长,基于性能4-12小时

完成后执行

$ sudo make install

此命令会将程序安装在上面-prefix指定的/opt/Qt/ 中。 安装成功后修改环境变量:

$ sudo vim /etc/profile
export QTDIR=/opt/Qt
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
$ source /etc/profile

最后执行

$ qmake -v

安装qtcreator

安装qtcreator必须先安装Qt,用Qt编译qtcreator,如果编译Qt出错,这个位置编译也会出错。如果Qt编译时,有未编译的模块或者含有不依赖的模块,qt编译不受影响,但是qtcreator会有影响。我试过加-no-opengl \,编译qt没有错误,安装也可以,编译qtcreator出错。

  • 虚拟机可以选择安装包程序安装,同时可以安装其他在本机运行的包

​ 下载后到虚拟机中运行安装程序

下载完成后解压 这里默认上面教程以完成好以后: 进入解压路径,执行

$ qmaek -r

等待完成后生成MakeFile文件。 然后执行

$ sudo make -j4

等待编译完成后,执行

$ sudo make install

执行完

打开bin文件夹就会有qtcreator和qtcreator.sh 执行

$ ./qtcreator.sh &

这样qtcreator会在后台运行。 最后配置qtcreator即可。

QT交叉编译的Kit配置

​ 下面介绍QT创建QT项目时的使用交叉编译工具的配置

​ Kits主要是选择gcc、g++为交叉编译工具链中的,qmake使用编译出的qmake

添加GCC中C、C++

添加qmake

最终配置

Last updated 15 hours ago

​

​

image-20241028093459681
image-20241028093254591
image-20241028093434074
image-20241028094050024
image-20250219155414011

Qtcreator最好和Qt版本相对应

image-20241028094210629
image-20250416112806987
image-20250416112845224
image-20250416112945015
qt不在维护版本
qt在维护版本
Qtcreator源码