最新Ubuntu LVGL SDL模拟器安装

前言

本文主要说明Ubuntu 23.4安装LVGL 9.0以及基于SDL的模拟环境。

代码下载

访问lv_port_pc_eclipse可以看到相信信息,官方已经打包好了整个代码环境。

安装CMAKE。

sudo apt install cmake

安装SDL。

sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev

安装LVGL,因为我们下载的是lv_port_pc_eclipse仓库,所以加上recursive参数会把lvgl也一起下载下来。

git clone --recursive https://github.com/lvgl/lv_port_pc_eclipse.git

下载完成后是这样的目录结构。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse$ ls
CMakeLists.txt  Dockerfile   lv_conf.h  main.c    mouse_cursor_icon.c    pc_simulator.launch
confdef.txt     licence.txt  lvgl       Makefile  mouse_cursor_icon.png  README.md

编译

在lv_port_pc_eclipse目录中,创建编译文件夹build,然后执行cmake生成makefile文件。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse$ mkdir build
name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/build$ cd build/
name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/build$ cmake .. .

log如下。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/build$ cmake .. .
CMake Warning:Ignoring extra path from command line:"."-- The C compiler identification is GNU 12.3.0
-- The CXX compiler identification is GNU 12.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/anruliu/workspace/lv_port_pc_eclipse/build

最后执行make -j即可。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/build$ make -j

编译完成后,可执行文件在上一层目录的bin/main,执行即可看到程序运行。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/bin$ ./main

在这里插入图片描述
在这里插入图片描述

当然还有很多的demo程序可以运行测试,添加入口函数即可。

name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse$ git diff .
diff --git a/main.c b/main.c
index ed24d8b..a8d993a 100644
--- a/main.c
+++ b/main.c
@@ -76,6 +76,9 @@ int main(int argc, char **argv)hal_init(800, 480);lv_demo_widgets();
+  //lv_demo_music();
+  //lv_demo_benchmark(LV_DEMO_BENCHMARK_MODE_RENDER_AND_DRIVER);
+  /lv_demo_flex_layout();while(1) {/* Periodically call the lv_task handler.

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

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

相关文章

云原生 envoy xDS 动态配置 java控制平面开发 支持restful grpc实现 EDS 动态endpoint配置

envoy xDS 动态配置 java控制平面开发 支持restful grpc 动态endpoint配置 大纲 基础概念Envoy 动态配置API配置方式动静结合的配置方式纯动态配置方式实战 基础概念 Envoy 的强大功能之一是支持动态配置,当使用动态配置时,我们不需要重新启动 Envoy…

安科瑞变电所运维平台在电力系统中应用分析

摘要:现代居民生活、工作对电力资源的需求量相对较多,给我国的电力产业带来了良好的发展机遇与挑战。探索电力系统基本构成, 将变电运维安全管理以及相应的设备维护工作系统性开展,能够根据项目实践工作要求,将满足要求…

hbase 报错 Master passed us a different hostname to use; was=

原因 wsl2的 /etc/hosts 配置的不兼容,我这里是ubuntu22 命令行输入hostname 看输出什么,比如输出 aaa 那么替换/etc/hosts 127.0.0.1 aaa

Mysql之explain详解

1. explain作用 使用explain可以展示出sql语句的执行计划,再根据sql的执行计划去判断这条sql有哪些点可以进行优化,从而让sql的效率达到最大化。 2. 执行计划各列含义 (1)id:id列是select的序列号,这个…

【BASH】回顾与知识点梳理(三十二)

【BASH】回顾与知识点梳理 三十二 三十二. SELinux 初探32.1 什么是 SELinux当初设计的目标:避免资源的误用传统的文件权限与账号关系:自主式访问控制, DAC以政策规则订定特定进程读取特定文件:委任式访问控制, MAC 32.2 SELinux 的运作模式安…

nvm管理node版本

nvm是什么? NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM,可以通过命令很方便地在多个NodeJS版本之间进行切换。 nvm的下载与安装 下载地址:Releases coreybutler/nvm-windows (github.com) windows系统下载nvm-setup…

【自动化测试】接口自动化01

文章目录 一、熟悉若requests库以及底层方法的调用逻辑二、接口自动化以及正则和Jsonpath提取器的应用6. 高频面试题:9. 示例:接口关联13. 文件上传示例14. cookie关联的接口 努力经营当下 直至未来明朗 一、熟悉若requests库以及底层方法的调用逻辑 接…

RTT(RT-Thread)ADC设备(RTT保姆级介绍)

目录 ADC设备 前言 ADC相关参数说明 访问ADC设备 配置ADC设备 ADC实例 硬件设计 软件设计 ADC设备 前言 ADC(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。 对于ADC的详细介绍和在STM32中的裸机应用可参考以下…

在CentOS 7上使用kubeadm部署Kubernetes集群

如有错误,敬请谅解! 此文章仅为本人学习笔记,仅供参考,如有冒犯,请联系作者删除!! 前言: Kubernetes是一个开源的容器编排平台,用于管理和自动化部署容器化的应用程序。…

软文发布问题解答:高效宣传与推广指南

以下是一秒推小编针对软文发布的20个常见问题及回答: 1. 什么是软文? 答:软文是指用文学手法、写作技巧撰写的宣传文章,以实现对特定受众的陈述、说明和推销。 2. 发布软文的目的是什么? 答:发布软文的目…

出现ffmpeg.dll丢失的修复方法分享,教你快速修复ffmpeg.dll文件

当你使用或尝试运行与FFmpeg相关的应用程序时,可能会遇到一个常见的问题,ffmpeg.dll文件丢失。这个动态链接库文件对于正常运行FFmpeg应用程序至关重要。在本文中,我们将详细探讨为什么会出现ffmpeg.dll丢失的情况,并提供一些修复…

奥威BI数据可视化工具:360度呈现数据,告别枯燥表格

随着企业数据量的不断增加,如何有效地进行数据分析与决策变得越来越重要。奥威BI数据可视化工具作为一款强大的数据分析工具,在帮助企业深入挖掘数据价值方面具有显著优势。 奥威BI数据可视化工具是一款基于数据仓库技术的数据分析工具,具有…

海外应用ASO优化的小技巧3

编写准确的应用程序描述,有4000个字符限制。用户可以访问应用程序的主要功能和信息,要说服并推动用户去下载我们的应用,需要使用自然流利的语言。 1、填写应用描述的方案。 我们需要知道该应用有什么用,能够解决什么问题&#xf…

在医疗行业数字孪生能做些什么?

数字孪生技术随着发展正在多行业遍地开花,在之前的文章中也为大家介绍过数字孪生的行业应用,今天带大家一起探讨一下数字孪生在医疗行业的表现。其实数字孪生在医疗行业已有很多应用案例,从医疗诊断到手术模拟,再到药物研发&#…

基于Redis实现点赞及排行榜功能

微信公众号访问地址:基于Redis实现点赞及排行榜功能 推荐文章: 1、SpringBoot整合多数据源,并支持动态新增与切换(详细教程) 2、​​​​​​Redis中使用lua脚本 3、SpringBoot统一标准响应格式及异常处理 4、Spr…

linux两台服务器互相备份文件(sshpass + crontab)

crontab crontab是linux系统自带的定时调度软件,可用于设置周期性被执行的指令,一般用在每天的非高峰负荷时间段运行作业,可在无需人工干预的情况下运行作业。支持在一周或一月中的不同时段运行。 crontab命令允许用户提交、编辑或删除相应的…

MongoDB:数据库初步应用

一.连接MongoDB 1.MongoDBCompass连接数据库 连接路径:mongodb://用户名:密码localhost:27017/ 2.创建数据库(集合) MongoDB中数据库被称为集合. MongoDBCompass连接后,点击红色框加号创建集合,点击蓝色框加号创建文档(数据表) 文档中的数据结构(相当于表中的列)设计不用管…

安装chromedriver 115,对应chrome版本115(经检验,116也可以使用)

目录 1. 查看Chrome浏览器的版本2. 找到对应的chromedriver3. 安装ChromeDriver 1. 查看Chrome浏览器的版本 点进这个网站查看:chrome://settings/help (真是的,上一秒还是115版本,更新后就是116版本了,好在chromedi…

java版本企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发

java版本企业电子招标采购系统源码Spring Cloud Spring Boot 二次开发 一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草…

【JVM】JVM 调优的参数都有哪些?

文章目录 1. 设置堆空间大小2. 虚拟机栈的设置3. 年轻代中Eden区和两个Survivor区的大小比例4. 年轻代晋升老年代阈值5. 设置垃圾回收收集器 1. 设置堆空间大小 设置堆的初始大小和最大大小,为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的时间&…