3. lvgl 9.3 vscode 模拟环境搭建 lv_port_pc_vscode-release-v9.3

文章目录

  • 1. 资源下载
    • 1. 1 lv_port_pc_vscode
    • 1.2 cmake 和 mingw 环境搭建
    • 1.3 sdl 下载
    • 1.4 下载lvgl_v9.3
  • 2. 环境搭建
    • 2.1 拷贝lvgl 源码到工程
    • 2.2 添加SDL2 依赖
    • 2.3 执行工程
  • 3. 运行示例

1. 资源下载

1. 1 lv_port_pc_vscode

那么多模拟器,为什么选择这个: 支持最新版本,支持 Windows, Linux and MacOs, 使用cmake对项目配置管理, 更新比较快。
下载地址:https://github.com/lvgl/lv_port_pc_vscode
zip 下载:切换9.3分支, 直接下载zip
在这里插入图片描述
git 克隆:

git clone -b release/v9.3 https://github.com/lvgl/lv_port_pc_vscode.git

github访问不了加速可参考: https://blog.csdn.net/qq_51355375/article/details/148614617?spm=1011.2415.3001.5331

1.2 cmake 和 mingw 环境搭建

  • cmake: https://blog.csdn.net/qq_51355375/article/details/139186681?spm=1011.2415.3001.5331
  • mingw: https://blog.csdn.net/qq_51355375/article/details/139890889?spm=1011.2415.3001.5331

1.3 sdl 下载

https://github.com/libsdl-org/SDL/tags
因为lvgl使用的是sdl2,和 mingw, 选择sdl2 mingw版本下载
在这里插入图片描述

1.4 下载lvgl_v9.3

下载和lv_port_pc_vscode 一样,选择对应版本下载即可。
https://github.com/lvgl/lvgl

2. 环境搭建

2.1 拷贝lvgl 源码到工程

  • vscode打开lv_port_pc_vscode-release-v9.3项目,并将下载的lvgl 9.3 工程下的所有内容复制到 lv_port_pc_vscode-release-v9.3下的lvgl目录下。
    在这里插入图片描述

2.2 添加SDL2 依赖

将下载的 sdl 解压后整个复制到 项目中
在这里插入图片描述
在这里插入图片描述
指定sdl 配置路径:
在这里插入图片描述

2.3 执行工程

因为使用在vscode配置c工程比较麻烦,这里使用的是qt vscode插件:
参考:https://blog.csdn.net/qq_51355375/article/details/142623120?spm=1011.2415.3001.5331

选择编译器:ctrl + shift + p
在这里插入图片描述
选择自己安装的对应 mingw 目录下的gcc
在这里插入图片描述
然后在cmakelist.txt ctrl + s 触发cmake构建, 构建完成后点击左下角编译或者运行即可进入代码编译。
在这里插入图片描述

  • 报错1:
    fatal error: glob.h: No such file or directory
    [build] 18 | #include “glob.h”
    [build] | ^~~~~~~~
    [build] compilation terminated.
    注释掉main.c 中对应的头文件:
    在这里插入图片描述
  • 报错2:
    main_getcmdline': [build] /tmp/tardir/SDL2-2.32.2/src/main/windows/SDL_windows_main.c:80:(.text+0x152): undefined reference to SDL_main’
    [build] collect2.exe: error: ld returned 1 exit status
    添加sdl头文件
    在这里插入图片描述
  • 错误3:
    编译成功,执行没有界面,执行后就结束了
    在这里插入图片描述
    缺少SDL2.dll库, 配置cmake 将其拷贝到可执行程序所在的bin目录下, 重新构建运行即可。

3. 运行示例

在这里插入图片描述

此工程代码下载:https://gitcode.com/CodingBinary/lv_port_pc_vscode-release-v9.3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89985.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【牛客刷题】小红的爆炸串(二)

一、题目介绍 本题链接为:小红的爆炸串(二) 小红定义一个字符串会爆炸,当且仅当至少有k对相邻的字母不同。 例如,当 k k k=2时,"arc"会爆炸,而"aabb"则不会爆炸。 小红拿到了一个长度为

【实战】如何训练一个客服语音对话场景VAD模型

1. 引言:客服场景下的VAD模型 在客服中心,每天都会产生海量的通话录音。对这些录音进行有效分析,可以用于服务质量监控、客户意图洞察、流程优化等。VAD在其中扮演着“预处理器”和“过滤器”的关键角色: 提升ASR效率与准确性:只将检测到的语音片段送入ASR引擎,可以避免…

在 Dokploy 中为 PostgreSQL 搭建 PgBouncer 数据库连接池(图文)

前言:为什么你需要一个连接池? 如果你正在使用 Node.js (尤其是像 Next.js 这样的框架) 配合 Prisma 操作 PostgreSQL 数据库,你很可能在某个阶段会遇到那个令人头疼的错误:“Error: Too many clients already”。这通常发生在应…

Mac获取终端历史

在 macOS 中,历史记录文件的位置取决于你使用的 shell。以下是针对不同 shell 的历史记录文件的默认位置:对于 Bash 用户: 历史记录文件通常位于 ~/.bash_history。对于 Zsh 用户(macOS Catalina及以后版本默认使用的shell&#x…

高频交易服务器篇

在 Binance 进行高频交易(HFT)时,服务器的低延迟、高稳定性和快速网络是关键。亚马逊云(AWS) 提供了多种适合高频交易的方案,以下是推荐的配置和优化策略:1. 选择 AWS 区域(Region&a…

MVC与MVVM架构模式详解:原理、区别与JavaScript实现

Hi,我是布兰妮甜 !在当今复杂的前端开发领域,如何组织代码结构一直是开发者面临的核心挑战。MVC和MVVM作为两种经典的架构模式,为前端应用提供了清晰的责任划分和可维护的代码组织方案。本文将深入探讨这两种模式的原理、实现差异…

从小白到进阶:解锁linux与c语言高级编程知识点嵌入式开发的任督二脉(2)

【硬核揭秘】Linux与C高级编程:从入门到精通,你的全栈之路! 第三部分:Shell脚本编程——自动化你的Linux世界,让效率飞起来! 嘿,各位C语言的“卷王”们! 在Linux的世界里&#xf…

锁和事务的关系

事务的4大特性(ACID) 原子性(Atomicity):事务被视为一个单一的、不可分割的工作单元一致性(Consistency):事务执行前后,数据库从一个一致状态转变为另一个一致状态,并且强制执行所有…

电动车信用免押小程序免押租赁小程序php方案

电动车信用免押租赁小程序,免押租小程序,信用免押接口申请、对接开发,可源码搭建,可二开或定制。开发语言后端php,前端uniapp。可二开定制 在线选择门店,选择车辆类型,选择租赁方式&#xff08…

机器学习在智能安防中的应用:视频监控与异常行为检测

随着人工智能技术的飞速发展,智能安防领域正经历着一场深刻的变革。智能安防通过整合先进的信息技术,如物联网(IoT)、大数据和机器学习,能够实现从传统的被动防御到主动预防的转变。机器学习技术在智能安防中的应用尤为…

MySQL中DROP、DELETE与TRUNCATE的深度解析

在MySQL数据库操作中,DROP、DELETE和TRUNCATE是三个常用的数据操作命令,它们都可以用于删除数据,但在功能、执行效率、事务处理以及对表结构的影响等方面存在显著差异。本文将从多个维度对这三个命令进行详细对比和解析,帮助读者更…

一条 SQL 语句的内部执行流程详解(MySQL为例)

当执行如下 SQL: SELECT * FROM users WHERE id 1;在数据库内部,其实会经历多个复杂且有序的阶段。以下是 MySQL(InnoDB 引擎)中 SQL 查询语句从发送到结果返回的完整执行流程。 客户端连接阶段 客户端(如 JDBC、My…

超详细yolo8/11-detect目标检测全流程概述:配置环境、数据标注、训练、验证/预测、onnx部署(c++/python)详解

文章目录 一、配置环境二、数据标注三、模型训练四、验证预测五、onnx部署c 版python版本 一、配置环境 我的都是在Linux系统下,训练部署的;模型训练之前,需要配置好环境,Anaconda、显卡驱动、cuda、cudnn、pytorch等&#xff1b…

阿里云Flink:开启大数据实时处理新时代

走进阿里云 Flink 在大数据处理的广袤领域中,阿里云 Flink 犹如一颗璀璨的明星,占据着举足轻重的地位。随着数据量呈指数级增长,企业对数据处理的实时性、高效性和准确性提出了前所未有的挑战 。传统的数据处理方式逐渐难以满足这些严苛的需…

【Linux】基础开发工具(1)

1. 软件包管理器 1.1 什么是软件包 在Linux下安装软件, ⼀个常用的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把⼀些常⽤的软件提前编译好, 做成软件包(可以理解成windows上 的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便…

蓝桥杯51单片机设计

#超声波原理# ①超声波测距原理:声波反射原理 声波分类: 超声波测距原理 超声波频率越高,波长越短,反身性越强,衍射性越弱 ②超声波模块原理 发射原理 跳线帽 接收原理 问题: 1.超声波发射模块需…

【LeetCode 热题 100】240. 搜索二维矩阵 II——排除法

Problem: 240. 搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 文章目录 整体思路完整代码时空复杂度时间复杂度:O(M N)空间复…

Android Input 系列专题【inputflinger事件的读取与分发】

Android输入系统在native中的核心工作就是,从Linux驱动设备节点中读取事件,然后将这个事件进行分发,这两项工作分别交给了InputReader和InputDispatcher来做。 他们的源码都属于native层inputflinger里面的一部分,如下架构&#…

【大模型LLM】GPU计算效率评估指标与优化方法:吞吐率

GPU计算效率评估指标与优化方法:吞吐率 一、核心效率指标二、大模型吞吐率(Large Model Throughput)三、关键性能瓶颈分析四、实际测量工具五、优化策略总结 一、核心效率指标 吞吐率(Throughput) 定义:单位…

Nestjs框架: 集成 Prisma

概述 在 NestJS 的官方文档中,有两处对数据库进行了介绍 第一处位于左侧“Techniques(技术)”部分下的“数据库”板块,中文文档里同样有这个位置。 Database 第二处是下面的“Recipes (秘籍)”板块,这里有多个部分都与…