3 步在 Windows PC 上跑起 LVGL 嵌入式 GUI:lv_port_pc_visual_studio 完整上手指南

📅 2026/8/24 23:44:02
3 步在 Windows PC 上跑起 LVGL 嵌入式 GUI:lv_port_pc_visual_studio 完整上手指南
3 步在 Windows PC 上跑起 LVGL 嵌入式 GUIlv_port_pc_visual_studio 完整上手指南【免费下载链接】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做嵌入式界面的人都熟悉这个循环改一行布局代码等板子下载刷出新画面才发现按钮错位了两个像素。一天下来代码没写多少耐心倒是磨没了。如果你希望这套嵌入式界面直接跑在 Windows PC 上鼠标键盘随手可用、改完立即生效lv_port_pc_visual_studio就是为此而生的它是一个预配置好的 Visual Studio 工程把 LVGL 嵌入式图形库面向微控制器的开源 GUI 工具包搬到了 Windows 桌面只依赖 Win32 API、C 运行时和 C STL不要求安装任何额外第三方库。上图就是跑起来后的样子一个 800×480 的窗口右下角还自带 FPS 与 CPU 占用监视器。 3 步跑通从克隆到看见界面整个上手路径只有三步不需要改任何配置克隆仓库一定要带上子模块。LVGL 核心代码以 git 子模块形式存放普通git clone拿不到必须加参数git clone --recurse-submodules https://gitcode.com/gh_mirrors/lv/lv_port_pc_visual_studio打开解决方案。用 Visual Studio 打开根目录的LVGL.slnx把LvglWindowsSimulator设为启动项目。按本地 Windows 调试器运行。稍等编译命令行窗口会弹出一个显示 LVGL widgets 演示的桌面窗口鼠标、键盘、方向键都能直接操作界面。跑起来之后你手里的模拟器已经是一个可交互的假设备了。接下来看它到底能替你解决什么问题。 它到底能帮你解决什么与其罗列功能点不如按你实际会遇到的问题分组我想快速验证 UI 布局 → 用模拟器模式LvglWindowsSimulator窗口始终保持 LVGL 显示分辨率不变尽最大可能模拟你在真实设备屏幕上看到的排版效果Windows DPI 缩放变化时后端会把显示内容整体拉伸而不是重新排版。它还集成了 FreeType可以高质量渲染 TrueType 字体做设计稿验证很方便。我想往 Windows 桌面应用方向做 → 用应用程序模式LvglWindowsDesktopApplication与模拟器相反窗口可以自由拖拽调整大小LVGL 显示分辨率随之变化DPI 缩放变化时LVGL 的 DPI 值也会同步更新。适合直接把它当桌面 App 的框架来开发。我想测试输入交互 → 输入设备已全接好指针、键盘方向键keypad、旋转编码器encoder三类输入设备在两个模式里都已初始化完毕触摸输入和 Windows 输入法也支持。做旋钮菜单方向键翻页这类交互时电脑上就能先验证手感。我想量化性能 → 监视器默认开启系统监视SYSMON、性能监视PERF_MONITOR、内存监视MEM_MONITOR默认全部打开窗口角落常驻帧率、CPU 与内存读数——就是截图右下角那个小角标。性能瓶颈一眼可见不用自己再埋点。⚙️ 想改点什么最常动的是这几个开关默认配置都在LvglWindowsSimulator/lv_conf.h模拟器里详细清单可查 Documents/DefaultLvglConfigurations.md。最常动的几项配置项默认值作用LV_COLOR_DEPTH32颜色位深LV_MEM_SIZE256 KB内部内存池大小见下方避坑第 2 条LV_DEF_REFR_PERIOD10 ms默认刷新周期LV_USE_OSLV_OS_WINDOWS使用 Windows 操作系统支持LV_USE_FS_WIN321盘符C可访问 Windows 文件系统LV_USE_DEMO_WIDGETS/LV_USE_DEMO_BENCHMARK1默认启用的两个演示⚠️ 避坑清单最容易翻车的四个地方坑 1目标平台被默认选成了 ARM64。模拟器支持 ARM64而 Visual Studio 首次会按字母顺序自动选中它——在你这台 x64 机器上自然编不过。正确做法编译前看一眼工具栏的平台下拉框手动改回 x86 或 x64。坑 2把LV_MEM_SIZE调太小导致内存不足。64 位模拟器下该值低于 128 KB 就可能报内存分配失败。项目默认已设为 256 KB除非你有明确理由否则不要调低。坑 3clone 时漏了--recurse-submodules。表现为lvgl/目录是空的、编译报找不到头文件。正确做法补跑一条命令即可git submodule update --init --recursive坑 4用错了 Visual Studio。这个项目面向传统 Visual StudioMSBuild不是 VS Code。如果你的工作流是 CMake VS Code应该去看姊妹项目 lv_port_pc_vscode。另外注意VS 版本要求 2022 的 17.13 及以上或 Visual Studio 2026更老的版本VS 2017/2019/2022 早期请切到release/v9.4/legacy-vs-solution分支。还有一条版本纪律master 是开发分支偶有编译失败之类的已知问题要稳定就使用release/前缀的分支。 进阶玩法从 Demo 切换到你的代码换一个演示只要改一行。打开 LvglWindowsSimulator.cpp默认执行lv_demo_widgets()把它注释掉、换成lv_demo_benchmark()之类的调用即可。想解锁音乐播放器、压力测试等更多演示打开 LvglWindowsSimulator/lv_conf.h 找到 DEMO USAGE 区域约 1292 行起把对应宏从 0 改为 1例如#define LV_USE_DEMO_MUSIC 1 #define LV_USE_DEMO_STRESS 1写自己的应用模板已经摆在面前lv_init()初始化 → 创建显示与输入设备 → 在main()里建你的按钮、标签、滑块并挂事件回调 → 循环里调lv_timer_handler()。照抄模拟器main的结构把演示调用换成你的界面代码就行。其他值得知道的细节想压缩二进制体积可以配合 VC-LTL 工具链编译产物大小可接近 MinGW 水平。需要跟进 LVGL 子模块更新并同步工程文件时流程写在 Documents/HowToSynchronizeLvglRelatedSubmodules.md。ARM32 支持已被移除原因是 Windows ARM32 桌面版已近淘汰、未来 Windows 11 将不再支持 32 位 ARM 应用详见 Documents/Arm32SupportRemovedNotice.md。 选型建议它和姊妹项目怎么选你的情况推荐项目传统 Visual Studio MSBuild 工作流主要在 Windows 上开发lv_port_pc_visual_studio本文主角CMake 工作流、用 VS Code、或目标在 Linux/其他平台lv_port_pc_vscode只是想在 Windows 上快速试 LVGL 的效果本项目模拟器模式 3 步跑通判断标准一句话看你的构建系统——MSBuild 选这边CMake 选那边。❓ 常见问题FAQQ模拟器里的效果和真实设备完全一样吗不保证像素级一致但模拟器会始终保持固定的 LVGL 显示分辨率尽力还原生产设备上的 UI 布局用于布局验证和原型设计足够可靠。Q为什么运行时先弹出一个命令行窗口这是预期行为程序从 cmd 窗口启动。顺带的好处是日志默认LV_USE_LOG开启会直接打印在控制台里排查问题时很顺手。Q想要稳定版本该拉哪个分支使用release/前缀的分支。master 是当前开发版适合跟进新特性但可能遇到编译问题。Q克隆后如何保持代码最新在主仓库目录执行两步git pull拉主仓库更新再git submodule update --init --recursive让子模块代码跟上新的引用。Q支持哪些 CPU 架构x86、x64 与 ARM64 原生支持ARM32 已移除见上方避坑与进阶部分。写在最后一句话概括lv_port_pc_visual_studio 把嵌入式 GUI 开发从改一行代码等十分钟下载变成了改一行代码看一眼效果这正是桌面仿真环境最大的价值。 现在就按上面 3 步克隆、打开、运行跑起来之后把lv_demo_widgets换成你写的第一个界面——你的嵌入式 GUI 开发效率从这一步开始不一样。【免费下载链接】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),仅供参考