Ubuntu20.04 运行环境搭建

搭建环境的资料在资料下载目录下获取
文件路径:**T153开发板资料/搭建好环境的虚拟机/
此教程将用到QT环境搭建文档里面的(VMware虚拟机,ubuntu-20.04-desktop-amd64.iso,qt-everywhere-src-5.12.12.tar.xz,qt-opensource-linux-x64-5.12.12.run,host.tar.xz)资料,建议先下载下来

1.安装VMware

1.1获取方式一

官网下载:https://www.vmware.com/hk.html

1.2获取方式二

VMware安装包在网盘中获取,网盘链接请查看 “[资料下载]” 目录。
链接: https://pan.baidu.com/s/1_kqLATmFns6X3iu_YMvv3A?pwd=kpws 提取码: kpws

文件路径:T113开发板资料/环境搭建/VMware虚拟机/VMware Workstation Pro 17.0.1 Build 21139696 x64 Crack.zip
(以上资料仅供学习使用,下载后请在24小时之内删除)

2. 下载Ubuntu20.04操作系统

2.1获取方式

Ubuntu安装镜像文件在网盘中获取,网盘链接请查看 “[资料下载] 目录。
文件路径:T113开发板资料/环境搭建/VMware虚拟机/ubuntu-20.04-desktop-amd64.iso

3.虚拟机VMware安装ubuntu20.04

安装好VMware之后,打开,点击“创建新的虚拟机”

Alt text

下面这里你可以选择“典型(推荐)”也可以选择“自定义(高级)”,(如果你选择“自定义(高级)”,自定义的设置选项会多一些,包括选择虚拟机硬件兼容性、选择网络类型、选择I/O控制类型、选择磁盘类型、选择磁盘等,如果你对这些多不太熟悉或者不需要考虑这些比较细致的设置的话,可以直接选择“典型(推荐)”)
Alt text

选择下载后解压的ubuntu-20.04.6-desktop-amd64.iso映像文件

这里的密码将是你安装好ubuntu之后,进入虚拟机中ubuntu系统时的登录密码,请务必记住。(“确认:”就是重新输入一次密码),点击下一步

根据自己电脑情况,可自行更改安装位置

指定磁盘容量,默认推荐的是20G,可根据需要自行更改(此教程最低配置为35G,推荐60G以上)

下图中虚拟机的“内存”和“处理器”等硬件设置都已经默认给出推荐的数值,你可以根据自己的需要自行更改。(如果你暂时不确定自己需要怎样的硬件设置,可以先按默认的设置来,因为这些设置等你安装好之后都是可再次进行修改的。)

关闭自定义硬件界面,点击完成

等待进入虚拟机,选择中文简体,点击next

Alt text

选择 install Ubuntu,点击next

Alt text

选择use wired connection,点击next

Alt text

点击skip

Alt text

选择default,点击next

Alt text

点击next

Alt text

点击选择sahnghai,点击next

Alt text

输入名称,输入密码并确认,点击下一步

Alt text

输入domain,输入join user,输入密码,点击下一步

Alt text

选择喜欢的主题点击下一步

Alt text

等待下载完成

4.Ubuntu环境搭建及准备(QT)

安装完成后,进入桌面,打开命令行窗口(快捷键ctrl+ait+t)安装工具包

4.1 安装vm-tool,vim,gedit工具

# 安装vm-tool工具,编辑器工具
 sudo apt-get install open-vm-tools
 sudo apt-get install open-vm-tools-desktop
 sudo apt-get install vim
 sudo apt install gedit

4.2 安装gcc编译环境

#安装包工具
sudo apt-get install make
sudo apt-get install gcc-9
sudo apt-get install g++-9
sudo apt-get install gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9

5. 配置交叉编译器

使用arm-linux-gnueabihf-交叉编译链静态编译 Qt 源码为静态库,
静态库文件: https://pan.baidu.com/s/19lb9fNEz-JaaGyQ2oGQlzQ?pwd=u5cg 提取码: u5cg

5.1 下载解压编译链以及 QT 源码

将编译链host.zip以及Qt源码qt-everywhere-src-5.12.12.tar.xz 下载解压到虚拟机,安装包在资料下载目录获取
文件路径:*T153开发板资料/搭建好环境的虚拟机/
*
T153开发板资料/qt源码和安装包/
链接: https://pan.baidu.com/s/1hgRYAwQjFqZgXr9xXUm8Zg?pwd=j9ru 提取码: j9ru
将下载好的文件传输到虚拟机,解压文件夹
1.复制解压T153专用工具链

mkdir ~/t153 && cd ~/t153
#复制host.zip到/t153日录
# 解压
unzip host.zip

HOST文件夹内容

yztiot@ubuntu:~/t153$ ls host/
arm-buildroot-linux-gnueabihf doc include lib64  sbin usr bin etc lib opt share

2.删除默认交叉编译链如果有的话

sudo apt remove gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf

3.添加环境变量
在 ~/.bashrc 最后添加:

echo 'export PATH=$PATH:/home/yztiot/t153/host/bin'>> ~/.bashrc
source ~/.bashrc

验证

yztiot@ubuntu:~/t153$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (GCC) 11.3.1 20220604 [releases/gcc-11 revision 591c0f4b92548e3ae2e8173f4f93984b1c7f62bb]
Copyright © 2021 Free Software Foundation, Inc.
本程序是自由软件,请参考源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的的适用性担保。

4.下载或复制QT源码并解压

cd ~
wget https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz
tar -xvf qt-everywhere-src-5.12.12.tar.xz
cd qt-everywhere-src-5.12.12

5.2 创建交叉编译配置文件

Qt使用mkspecs目录下的配置文件定义编译器,需要为 ARM 创建专用配置。

# 复制并修改 ARM 配置文件
cd qtbase/mkspecs
cp -r linux-arm-gnueabi-g++ linux-arm-gnueabihf-g++
cd linux-arm-gnueabihf-g++

编辑qmake.conf :

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = arm-linux-gnueabihf-gcc
QMAKE_CXX               = arm-linux-gnueabihf-g++
QMAKE_LINK              = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
QMAKE_NM                = arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-linux-gnueabihf-strip
load(qt_config)

QMAKE_LIBS += -ldl
QMAKE_LIBS += -lpthread
QMAKE_CXXFLAGS += -static-libstdc++

5.3 配置并静态编译QT

1.创建构建目录

cd ~/qt-everywhere-src-5.12.12
mkdir build-arm-static && cd build-arm-static

2.运行configure

../configure \
    -prefix /opt/qt5.12.12-armhf-static \
    -static \
    -release \
    -xplatform linux-arm-gnueabihf-g++ \
    -opensource \
    -confirm-license \
    -nomake examples \
    -nomake tests \
    -no-opengl \
    -no-openssl \
    -no-xcb \
    -linuxfb \
    -qt-freetype \
    -qt-pcre \
    -qt-harfbuzz \
    -qt-zlib \
    -qt-libpng \
    -qt-libjpeg \
    -skip qtwebengine \
    -skip qt3d \
    -skip qtgamepad \
    -skip qtspeech \
    -skip qtlocation \
    -skip qtsensors \
    -skip qtconnectivity \
    -skip qtwayland \
    -skip qtwebchannel \
    -skip qtwebsockets \
    -skip qtpurchasing \
    -skip qtdatavis3d \
    -skip qtcharts \
    -skip qtscxml \
    -skip qtnetworkauth \
    -skip qtmultimedia \
    -skip qtactiveqt \
    -skip qtremoteobjects \
    -skip qtscript \
    -skip qtdoc

3.编译安装

# 编译(耗时较长)
make -j$(nproc)

# 安装到 /opt/qt5.12.12-armhf-static
sudo make install

!!!注意
/home/yztiot/qt-everywhere-src-5.12.12/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h
在开头加上:
#include <limits>
不若编译可能出错

5.4 配置环境变量

echo 'export PATH=/opt/qt5.12.12-armhf-static/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

5.5 验证安装

# 检查 ARM 版 qmake
file /opt/qt5.12.12-armhf-static-old/bin/qmake
# 应显示
# /opt/qt5.12.12-armhf-static-old/bin/qmake: ELF 64-bit LSB shared object, x86-64,
# version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2
# BuildID[sha1]=59ebc947e0fad1d5634135c987b50740240ad4a1, for GNU/Linux 3.2.0, with debug_info
# not stripped

# 检查静态库
ls /opt/qt5.12.12-armhf-static/lib/libQt5Core.a
# 应存在 .a 文件(静态库)

# 检查 qmake 版本 
qmake --version
# 应显示
# QMake version 3.1
# Using Qt version 5.12.12 in /opt/qt5.12.12-armhf-static/lib

6. 安装及使用 QT creator

6.1 安装QT creator

进入 qt-opensource-linux-x64-5.12.12.run 所在文件夹,打开终端,输入:

chmod +x qt-opensource-linux-x64-5.12.12.run

./qt-opensource-linux-x64-5.12.12.run

Alt text

弹出安装界面

Alt text

如果没有账号请到qt官网网址进行注册( 官网注册连接:https://login.qt.io/register ),有账号请直接输入账号
(账号注册参考连接:https://blog.csdn.net/m0_57168310/article/details/121107391)

注意 :注册账号,根据提示输入用户名和密码,不符合格式的密码注册不了

注册成功后,输入qt账号密码,点击next

Alt text

勾选选项,点击next

Alt text

点击next

Alt text

选择安装路径,点击next

Alt text

勾选选项,点击next

Alt text

勾选同意协议,点击next

Alt text

点击install进行安装

Alt text

等待安装完成

Alt text

安装完成后,点击finish

Alt text

所有步骤结束后,即可使用QT creator

Alt text

7. 交叉编译 Qt程序

在 .pro 开头文件加上必要组件

static {
    QT += svg
    QTPLUGIN += qtvirtualkeyboardplugin
}
QTPLUGIN += qlinuxfb

#1.进入项目目录
cd ~/your project
# 2.使用 ARM 静态 qmake 生成 Makefile
qmake
# 3.编译(生成 ARM 静态链接可执行文件)
make-j$(nproc)

在工程的根目录打开终端

输入qmake生成 Makefile 文件,然后再输入 make编译工程


qmake && make

编译成功后输出可执行文件:untitled1( 这个文件名称和工程名称会保持一致)

可执行文件和开发板架构保持一致即交叉编译成功,可在开发板上运行编译好的程序

在开发板运行qt程序前需要加上环境变量

export QT_QPA_PLATFORM=linuxfb
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event2

8.Ubuntu LVGL 环境搭建及准备

安装完成后,进入桌面,打开命令行窗口(快捷键ctrl+ait+t)安装工具包

sudo apt-get update

sudo apt install -y libsdl2-dev build-essential gdb

sudo apt install -y make

9.在虚拟机中安装VScode

下载地址:https://code.visualstudio.com

(如无法下载,请使用百度网盘里的 VsCode.deb)
链接: https://pan.baidu.com/s/1pPbxpB8kxla0bAB01jtJvA?pwd=ga9e 提取码: ga9e

在下载路径下,右键“在终端打开”输入安装命令如:

sudo apt install -y ./code_1.106.3-1764110892_amd64.deb
# sudo apt install -y ./VsCode.deb    网盘下载用这个

code    #打开VsCode

打开vscode,下载中文拓展以及c拓展(下载之后重启vscode生效)


新建文件夹lvgl

mkdir lvgl

将下载好的lvgl8.2_compile.zip(交叉编译用)以及 lvgl8.2_demo.zip(pc预览用)放入文件夹中解压

10. 运行模拟器

右键lvgl8.2_demo 选择使用其他程序打开,选择 Visual Studio Code


按下F5运行即可运行Demo

11. 交叉编译可执行程序

11.1 编译程序

将lvgl8.2_demo的 lv_node ui_app.h 文件移动到lvgl8.2_compile 的对应文件夹中,在终端执行

make clean

make

即可生成可执行文件,路径:lvgl8.2_compile/bin/demossd

将可执行文件传入开发板中(实际ip在开发板中查看),输入密码:

scp ./bin/demossd root@192.168.3.123:~

11.2 在开发板中执行程序:

cd /root

chmod 777 demossd

./demossd
作者:陈柏林  创建时间:2026-09-16 14:11
最后编辑:陈柏林  更新时间:2026-10-12 11:13