【Embedded Development】【LVGL】基于Windows的LVGL模拟界面开发
一、下载
1.1 模拟器
其中,有两个蓝色链接,一个是lvgl源码,一个是驱动,需要分别点击下载,并复制到lv port pc 文件夹中对应位置,都要记住下载对应分支的对应源码和驱动项目版本,lvgl9版本以上内部自带lvgl driver项目
lvgl/lv_port_pc_eclipse at release/v8.3
1.2 lvgl源码
lvgl/lvgl at release/v8.3
1.3 驱动项目
lvgl/lv_drivers at release/v8.3
1.4 编译器mingw(如果下载的是压缩包,请自行将其类似的bin路径添加到系统环境变量PATH中)
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
1.5 cmake(如果下载的是压缩包,请自行将其类似的bin路径添加到系统环境变量PATH中)
CMake - Upgrade Your Software Build System
1.6 SDL2(如果下载的是压缩包,请自行将其类似的bin路径添加到系统环境变量PATH中)
Releases · libsdl-org/SDL · GitHub
SDL\SDL2-devel-2.32.10-mingw\SDL2-2.32.10\x86_64-w64-mingw32\bin
1.7 vscode
Visual Studio Code - The open source AI code editor | Your home for multi-agent development
1.8 vscode插件
二、工具配置
2.1 将SDL2中的D:\SoftwaresHub\SDL\SDL2-devel-2.32.10-mingw\SDL2-2.32.10\x86_64-w64-mingw32\里的文件复制到mingw的x86_64-w64-mingw32中
2.2 工程文件配置
驱动项目和lvgl源码放在模拟器下
注意后续我重新clone的是v9.3,因为8.3版本不知什么原因一直报错顶层的lv config.h文件与lvgl源码中的文件产生冲突无法解决,重新换版本。如果读者参考多个作者的方法进行一样操作,很可能是因为模拟器版本问题、编译环境
git clone --recursive -b release/v9.3 https://github.com/lvgl/lv_port_pc_eclipse2.3 vscode的cmake tool配置
搜索status,使其显示cmake tool的配置状态
2.4 打开文件,选择工具链
2.5 在顶层cmake中添加
file(COPY "D:/SoftwaresHub/SDL/SDL2-devel-2.32.10-mingw/SDL2-2.32.10/x86_64-w64-mingw32/bin/SDL2.dll" DESTINATION ${PROJECT_SOURCE_DIR}/bin)2.6 在顶层main.c中添加
#include LV_SDL_INCLUDE_PATH 其实就是#include "SDL2/SDL.h"2.7 以及更改main的函数名为SDL_main
![]()
2.8 先点击生成,在点三角形运行;或者右键顶层cmake
2.9 运行效果
如果点击小三角形后没有出现lvgl界面,而vscode终端看不到报错,去文件夹需要双击main.exe看一下报错
则需要把mingw中三个库文件放到main.exe的同级目录中,如果还报错无法找到SDL.dll,那么在加一个文件
最后
三、方案二:lv_port_pc_vscode(与前面那种模拟器差不多,编译环境相同,文件搭建也类似,点击蓝色链接下载对应版本的lvgl、freeRTOS)
使用vscode打开lv_port_pc_vscode-release-v9.3
注释#include "glob.h"
更改main函数名为SDL_main
成功