HOME
Shop
  • English
  • 简体中文
HOME
Shop
  • English
  • 简体中文
  • Product Series

    • FPGA+ARM

      • GM-3568JHF

        • 1. Introduction

          • GM-3568JHF Introduction
        • 2. Quick Start

          • 01 Environment Construction
          • 02 Compilation Instructions
          • 03 Burning Guide
          • 04 Debugging Tools
          • 05 Software Update
          • 06 View information
          • 07 Test Command
          • 08 Application Compilation
          • 09 Source code acquisition
        • 3. Peripherals and Interfaces

          • USB
          • Display and touch
          • Ethernet
          • WIFI
          • Bluetooth
          • TF-Card
          • Audio
          • Serial Port
          • CAN
          • RTC
        • 4. Application Development

          • 01 UART read and write case
          • 02 Key detection case
          • 03 LED light flashing case
          • 04 MIPI screen detection case
          • 05 Read USB device information example
          • 06 FAN Detection Case
          • 07 FPGA FSPI Communication Case
          • 08 FPGA DMA read and write case
          • 09 GPS debugging case
          • 10 Ethernet Test Cases
          • 11 RS485 reading and writing examples
          • 12 FPGA IIC read and write examples
          • 13 PN532 NFC card reader case
          • 14 TF card reading and writing case
        • 5. QT Development

          • 01 ARM64 cross compiler environment construction
          • 02 QT program added automatic startup service
        • 6. Others

          • 01 Modification of the root directory file system
          • 02 System auto-start service
    • ShimetaPi

      • M4-R1

        • Introduction

          • M4-R1 Introduction
        • Get started quickly

          • OpenHarmony概述
          • 镜像烧录
          • 开发环境准备
          • Hello World应用以及部署
        • Application Development

          • getting Started

            • 第一章 ArkTS语言简介
            • 第二章 UI组件介绍和实际应用(上)
            • 第三章 UI组件介绍和实际应用(中)
            • 第四章 UI组件介绍和实际应用(下)
          • Advanced

            • 第一章 入门指引
            • 第二章 三方库的引用和使用
            • 第三章 应用编译以及部署
            • 第四章 命令行恢复出厂设置
            • 第五章 系统调试--HDC调试
            • 第六章 APP 稳定性测试
            • 第七章 应用测试
        • Equipment Development

          • 第一章 环境搭建
          • 第二章 下载源码
          • 第三章 编译源码
        • Peripherals and interfaces

          • 树莓派接口
          • GPIO 接口
          • I2C 接口
          • SPI通信
          • PWM控制
          • 串口通讯
          • TF Card
          • 屏幕
          • 触摸
          • 音频
          • RTC
          • Ethernet
          • M.2
          • MINI-PCIE
          • Camera
          • WIFI&BT
          • 树莓派拓展板
        • Frequently asked questions

          • 资源下载
      • M5-R1

        • Introduction

          • Introduction to ShimetaPi M5-R1
    • OpenHarmony

      • SC-3568HA

        • Introduction

          • SC-3568HA Overview
        • Quick Start Guide

          • OpenHarmony Overview
          • Image Flashing
          • Setting Up the Development Environment
          • Hello World Application and Deployment
        • Application Development

          • ArkUI

            • Chapter 1 Introduction to ArkTS Language
            • Chapter 2 Introduction to UI Components and Practical Applications (Part 1)
            • Chapter 3 Introduction to UI Components and Practical Applications (Part 2)
            • Chapter 4 Introduction to UI Components and Practical Applications (Part 3)
          • Expand

            • Chapter 1 Getting Started Guide
            • Chapter 2 Referencing and Using Third-Party Libraries
            • Chapter 3: Application Compilation and Deployment
            • Chapter 4: Command-Line Factory Reset
            • Chapter 5: System Debugging -- HDC (Huawei Device Connector) Debugging
            • Chapter 6 APP Stability Testing
            • Chapter 7 Application Testing
        • Device Development

          • Chapter 1 Environment Setup
          • Chapter 2 Download Source Code
          • Chapter 3 Compiling Source Code
        • Peripheral And Iinterface

          • Raspberry Pi interface
          • GPIO Interface
          • I2C Interface
          • SPI communication
          • PWM (Pulse Width Modulation) control
          • Serial port communication
          • TF Card
          • Display Screen
          • Touch
          • Audio
          • RTC
          • Ethernet
          • M.2
          • MINI-PCIE
          • Camera
          • WIFI&BT
          • Raspberry Pi expansion board
        • Frequently Asked Questions

          • Resource Downloads
      • M-K1HSE

        • Introduction

          • M-K1HSE Introduction
        • Quick Start

          • Development environment construction
          • Source code acquisition
          • Compilation Notes
          • Burning Guide
        • Peripherals and interfaces

          • 01 Audio
          • 02 RS485
          • 03 Display
        • System customization development

          • System transplant
          • System customization
          • Driver Development
          • System Debugging
          • OTA Update
    • EVS-Camera

      • CF-NRS1

        • 1. Introduction

          • Event Camera Technical Documentation
        • 2. Quick Start

          • Host driver and software installation
        • 3. SDK application development

          • API Usage Instructions
      • CF-CRA2

        • Introduction

          • About CF-NRS1
    • AI-model

      • 1684XB-32T

        • Introduction

          • AIBOX-1684XB-32 Introduction
        • Get started quickly

          • First time use
          • Network Configuration
          • Disk usage
          • Memory allocation
          • Fan Strategy
          • Firmware Upgrade
        • Deployment Tutorial

          • Algorithm deployment
          • Deploy Llama3 Example
        • Application Development

          • Sophgo SDK Development
          • Sophon LLM_api_server development
          • Deploy MiniCPM-V-2_6
          • Qwen-2-5-VL Image and Video Recognition DEMO
          • Qwen3-chat-DEMO
          • Qwen3-Qwen Agent-MCP-Demo
          • Qwen3-langchain-AI Agent
      • 1684X-416T

        • Introduction

          • AIBOX-1684X-416 Introduction
        • Demo simple operation guide

          • Simple instructions for using shimeta smart monitoring demo
    • Core-Board

      • C-3568BQ

        • Introduction

          • C-3568BQ Overview
      • C-3588LQ

        • Introduction

          • C-3588LQ Introduction
      • GC-3568JBAF

        • Introduction

          • GC-3568JBAF Introduction
      • C-K1BA

        • Introduction

          • C-K1BA Introduction

01 ARM64 cross compiler environment construction

Case Introduction

The QT executable file compiled on the PC side is of x86 architecture and cannot be run on an ARM-based development board. It is necessary to deploy a cross-compilation environment on the PC side to compile an executable file of the ARM architecture.

PC environment:

PC system: Ubutu20.04 (x86_64 architecture) (VMware and Ubutu image files are in the 05-Development Materials\03-QT Development Materials directory)

Qt version: Qt5.12.9 (GCC 9.4.0, 64bit)

Cross compiler: aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0

Cross-compiling

First install the cross compiler on Ubuntu.

sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
#查看是否安装,版本号--9.4.0
aarch64-linux-gnu-gcc --version

Copy the qt-everywhere-src-5.12.9.tar compressed package in the 05-Development Materials\03-QT Development Materials directory to the Ubuntu home directory and decompress it.

tar -xvf qt-everywhere-src-5.12.9.tar

Open qt-everywhere-src-5.12.8/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf, change the compiler path in the red box to the compiler path just downloaded (sudo apt install gcc-aarch64-linux-gnu) (the compiler downloaded using the command is usually in the path /usr/bin), and save after modification.

QT1

Right click in the main directory and create two new directories, "Qt-5.12.9-build" and "Qt-5.12.9-arm64"

Enter the Qt-5.12.9-build directory and execute the following instructions to generate the Makefile file.

./../qt-everywhere-src-5.12.9/configure -prefix /home/ubuntu/Qt-5.12.9-arm64 -make libs -xplatform linux-aarch64-gnu-g++  -skip qtdeclarative -no-opengl
QT0

If the error shown in the above picture appears, execute the command.

sudo apt update
sudo apt install build-essential

There will be two inputs in the process, input "o" and "y" respectively. After the end, you can see that the Makefile file is generated in the directory.

QT2

Continue to execute the following instructions in the Qt-5.12.9-build directory to start compiling, which takes about 10 minutes.

make -j4 2>&1 | tee build.log

After the compilation is complete, continue to execute the instructions in the Qt-5.12.9-build directory.

make install

After the completion, you can open the Qt-5.12.9-arm64 directory, and qmake is in the bin subdirectory.

QT6

Install and configure the environment

Copy the qt-opensource-linux-x64-5.12.9.run file in the 05-Development Materials\03-QT Development Materials directory to the Ubuntu home directory, enter the home directory in the terminal, and execute the following command to enter the installation interface.

chmod +x qt-opensource-linux-x64-5.12.9.run
./ qt-opensource-linux-x64-5.12.9.run

If you need to log in to your account, you can log out after disconnecting from the Internet, and then re-execute the above command to install without logging in. Enter the installation directory and select the installation configuration as needed.

QT7

After the installation is complete, open QT and follow the steps below to configure the environment.

QT12

Click Add GCC-C/GCC-C++, and add the cross-compilation tools aarch64-linux-gnu-gcc and aarch64-linu-gnu-g++ you just downloaded. Those downloaded using sudo are usually in /usr/bin.

QT8

Click QT-Version, click Add, add the qmake file (in bin) just compiled, and add a version name. Warnings can be ignored.

QT9

Click Kit, name it whatever you want, select the compiler you just added for C and C++, and select the QT version added in the previous step for QT version.

QT10

Create a new project and select the compiled environment that has been configured.

QT11

Compiling the project will generate an executable file for the ARM architecture. The QT environment has been deployed on RK3568. Simply copy the executable file to the development board, modify the permissions, and run it in the terminal. You can also double-click it to open it.

Edit this page on GitHub
Last Updated:
Contributors: zwhuang
Next
02 QT program added automatic startup service