最新Ubuntu LVGL SDL模拟器安装

前言

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

代码下载

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

安装CMAKE。

bash 复制代码
sudo apt install cmake

安装SDL。

bash 复制代码
sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev

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

bash 复制代码
git clone --recursive https://github.com/lvgl/lv_port_pc_eclipse.git

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

bash 复制代码
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文件。

bash 复制代码
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如下。

bash 复制代码
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即可。

bash 复制代码
name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/build$ make -j

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

bash 复制代码
name@name-HP-Pavilion-g6-Notebook-PC:~/workspace/lv_port_pc_eclipse/bin$ ./main


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

bash 复制代码
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.
相关推荐
szxinmai主板定制专家15 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮15 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
ynchyong15 小时前
Linux 有两个 “版本“
linux·发行版·内核版本
叼烟扛炮15 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习
叼烟扛炮16 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
Decay__16 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝16 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
Escalating_xu16 小时前
【Linux 网络编程】DNS 与 ICMP:从域名解析到 ping、traceroute,把“网络通不通”问清楚
linux·网络·php
NailiConveyor18 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
Lsetea18 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot