lv_port_pc_visual_studio 上手指南:Visual Studio 里跑通 LVGL 模拟器
lv_port_pc_visual_studio 上手指南Visual Studio 里跑通 LVGL 模拟器【免费下载链接】lv_port_pc_visual_studioVisual Studio projects for LVGL embedded graphics library. Recommended on Windows. Linux support with Wayland is work in progress.项目地址: https://gitcode.com/gh_mirrors/lv/lv_port_pc_visual_studio你手上有一块带小屏幕的嵌入式开发板想在写固件前先确认 LVGL 界面的布局效果但真机调试改一行代码就要刷一次固件迭代太慢。lv_port_pc_visual_studio 是一套预配置好的 Visual Studio 工程让 LVGL 图形库的模拟器直接跑在 Windows 桌面上整个工程只依赖 Win32 API、C 运行时和 C STL不需要安装任何额外依赖也不需要 Visual Studio Code。 克隆仓库与子模块这个仓库把 LVGL 源码放在 git 子模块里普通git clone不会拉取它们缺了子模块后面无法编译。一步到位的写法是git clone --recurse-submodules https://gitcode.com/gh_mirrors/lv/lv_port_pc_visual_studio如果你已经克隆过主仓库在仓库目录里补一条命令即可git submodule update --init --recursive版本选择上注意一点master 是开发分支可能编译不过要稳定版本切换到release/前缀的分支。如果你的 Visual Studio 是 2017、2019 或 2022 的 17.13 之前的版本需要用release/v9.4/legacy-vs-solution分支。当前主线按 Visual Studio 2026 维护2022 的 17.13 及以上版本大概率可用但未做正式支持。️ 打开方案并运行模拟器用 Visual Studio 打开仓库根目录的LVGL.slnx方案文件里面有三个项目LvglWindowsSimulator模拟器、LvglWindowsDesktopApplication桌面应用和LvglWindows核心库。把LvglWindowsSimulator设为启动项目点工具栏上的本地 Windows 调试器按钮工程会先编译再启动程序从一个命令行窗口里拉起。默认运行的是lv_demo_widgets演示一个固定 800×480 的窗口会显示按钮、滑块等 LVGL 控件鼠标拖动、键盘方向键都能操作。入口代码在LvglWindowsSimulator/LvglWindowsSimulator.cpp的main()里演示程序就是一次函数调用想换演示时把它换成别的即可lv_demo_widgets(); // lv_demo_benchmark();两种模式分别适合什么模拟器模式先在电脑上验证真机 UI模拟器把 LVGL 显示分辨率始终固定不变目的是复现你在生产设备上看到的 UI 布局。Windows 的 DPI 缩放改变时它只是把画面整体拉伸LVGL 内部的坐标系不动。这个模式还集成了 FreeType 字体渲染。做界面原型、验证控件排布、跑lv_demo_benchmark看帧率用这个模式最接近真机观感。应用模式开发 Windows 桌面程序LvglWindowsDesktopApplication走桌面应用路线窗口可以随意拖拽缩放LVGL 的显示分辨率跟着窗口变DPI 设置变化时LVGL 的 DPI 值也同步更新。如果你最终交付的是一个 Windows 桌面程序而不是嵌入式界面从这个项目改起更顺。⚙️ 新手最容易改错的配置默认配置集中在LvglWindowsSimulator/lv_conf.h下面几项最常被误改LV_MEM_SIZELVGL 内部对象分配的内存池大小。64 位模拟器下如果它小于 128 KiB 就会遇到内存不足工程默认是(256 * 1024U)建议保持 256 KiB 起步跑大型演示时再往上加。LV_DEF_REFR_PERIOD刷新周期默认 10 ms即每秒 100 帧的上限。除非你在做功耗实验一般不用动。LV_USE_DEMO_* 系列宏在 DEMO USAGE 小节约 1199 行附近把想开的演示从 0 改成 1比如#define LV_USE_DEMO_MUSIC 1重新编译就能跑对应演示。lv_demo_widgets和lv_demo_benchmark默认已开其余都是关的。LV_COLOR_DEPTH默认 32 位色深与 Windows 显示保持一致不需要改动。 这些现象对应的处理办法平台下拉框里自动选中了 ARM64现象首次打开方案后编译或运行报奇怪错误。原因模拟器工程同时支持 x86、x64 和 ARM64Visual Studio 按字母顺序会默认选中 ARM64多数开发机跑不了它。处理在工具栏平台选择框里手动切到 x64 或 x86 再构建。64 位下运行时报内存不足现象跑 widgets 或 benchmark 演示时 LVGL 打印 out of memory 日志甚至闪退。原因LV_MEM_SIZE被调小了64 位环境下指针占用更大低于 128 KiB 就紧巴。处理把lv_conf.h里恢复为#define LV_MEM_SIZE (256 * 1024U)。克隆下来直接编译不过现象一堆文件找不到的编译错误。原因最常见的是没拉子模块LVGL 源码目录是空的其次是停留在 master 开发分支上该分支本身可能编译失败。处理先执行git submodule update --init --recursive补拉子模块仍不行就切到release/前缀的分支再试。 继续深入仓库自带三份说明文档可以直接读默认 lv_conf.h 配置说明列出了每个默认宏的取值和用途子模块同步指南讲手动升级 LVGL 子模块的流程ARM32 移除说明解释了为什么不再支持 ARM32 平台。想写自己的界面时直接在LvglWindowsSimulator.cpp的main()里调 LVGL 的控件 API 建对象、绑事件保存后重新运行即可看到效果。下一步可以做的三件事把演示换成lv_demo_benchmark跑一次帧率在lv_conf.h里开一个没试过的演示如LV_USE_DEMO_MUSIC然后动手改一个控件的位置验证热更新流程。【免费下载链接】lv_port_pc_visual_studioVisual Studio projects for LVGL embedded graphics library. Recommended on Windows. Linux support with Wayland is work in progress.项目地址: https://gitcode.com/gh_mirrors/lv/lv_port_pc_visual_studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
