前言

本文主要说明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.

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: