ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

3 步跑通 LVGL Visual Studio 模拟器:lv_port_pc_visual_studio 完整配置与操作指南

3 步跑通 LVGL Visual Studio 模拟器:lv_port_pc_visual_studio 完整配置与操作指南 3 步跑通 LVGL Visual Studio 模拟器lv_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如果你在 LVGL 上设计完界面想先在没有硬件的环境下验证布局效果或者干脆要基于 LVGL 做一个 Windows 桌面应用你至少需要一个能在 Visual Studio 里直接打开、直接编译的工程。lv_port_pc_visual_studio 就是这样一个预配置的项目它把在 Windows PC 上运行 LVGL 所需的工程、平台和依赖都整理成了完整的 Visual Studio 解决方案只依赖 Win32 API、C 运行时和 C STL不需要额外安装任何第三方组件。场景对号先确定你要验证的是什么项目里有两个入口工程行为上有本质区别模拟器模式LvglWindowsSimulatorLVGL 显示固定为 800×480Windows DPI 缩放变化时只是把画面整体拉伸逻辑分辨率不变。它模拟的是这套 UI 放在产品设备上长什么样并集成了 FreeType 字体渲染适合界面原型和布局验证。应用程序模式LvglWindowsDesktopApplication窗口可以自由缩放显示分辨率和 DPI 数值随窗口同步变化面向最终的 Windows 桌面应用开发。两个.cpp入口在调用lv_windows_create_display()时传入的simulator_mode参数分别是true和false这就是两种行为的根源。设计验证阶段用模拟器交付阶段用应用工程别混用。环境要求与仓库获取先确认开发环境这决定了你能用哪个分支项目当前用 Visual Studio 2026 维护。VS 2022 17.13 及以上版本大概率可以编译但不在官方支持范围内提交问题前请先在 VS 2026 上复现。还在用 VS 2017、2019 或 2022 低于 17.13 的版本切到release/v9.4/legacy-vs-solution分支。它只面向 Visual Studio不是 VS Code 方案CMake 路线的用户应去 lv_port_pc_vscode。目标平台支持 x86、x64、ARM64。ARM32 已移除原因和背景见Documents/Arm32SupportRemovedNotice.md。克隆仓库时注意 LVGL 等依赖是以 git 子模块形式引入的必须一并拉取git clone --recurse-submodules https://gitcode.com/gh_mirrors/lv/lv_port_pc_visual_studio # 若已克隆过主仓库但缺少子模块补跑 git submodule update --init --recursive️ 首次构建打开 LVGL.slnx 并跑通模拟器用 Visual Studio 打开LVGL.slnx解决方案。里面有三个工程核心库LvglWindows、模拟器LvglWindowsSimulator、桌面应用LvglWindowsDesktopApplication。将LvglWindowsSimulator设为启动项目。检查工具栏上的目标平台。这里有个高频坑由于字母排序VS 首次可能默认选中 ARM64。想跑本机程序就手动切回 x86 或 x64。点击本地 Windows 调试器。构建完成后程序从命令行窗口启动默认运行lv_demo_widgets演示。不想走 IDE 调试的话根目录的BuildAllTargets.cmd可以直接调用 MSBuild 做全量构建产物日志会写到Output/目录。模拟器模式与应用程序模式一张表看差异对比项模拟器模式应用程序模式定位UI 原型、布局验证Windows 桌面应用显示分辨率固定 800×480随窗口缩放变化Windows DPI 缩放变化时画面整体拉伸逻辑分辨率不变LVGL 的 DPI 值同步更新FreeType 字体渲染集成不含输入支持鼠标、键盘、编码器、触摸、输入法同左两种模式都支持 Per-monitor DPI AwareV1 和 V2区别只在于 DPI 变化时各自的处理策略。如何切换演示程序与修改 lv_conf.h每个演示都由一个函数调用启动。在LvglWindowsSimulator/LvglWindowsSimulator.cpp里默认生效的是lv_demo_widgets()下面一行注释掉的lv_demo_benchmark()可以替换启用二者来回切换即可。widgets 和 benchmark 之外的演示默认关闭。要打开编辑LvglWindowsSimulator/lv_conf.h在约第 1199 行的 DEMO USAGE 段落把对应宏从 0 改为 1比如启用音乐播放器演示#define LV_USE_DEMO_MUSIC 1整份默认配置清单在Documents/DefaultLvglConfigurations.md里有逐项说明。其中几个值得理解的数值LV_COLOR_DEPTH 3232 位色深颜色表现没有色板限制适合桌面验证。LV_MEM_SIZE (256 * 1024U)LVGL 对象使用的静态内存池项目给到 256KiB。64 位环境下这个值必须不低于 128KiB否则运行中会遇到内存不足这是官方明确列出的已知问题。LV_DEF_REFR_PERIOD 10目标刷新周期 10ms相当于按约 100 帧/秒规划主循环。LV_USE_PERF_MONITOR与LV_USE_MEM_MONITOR默认开启画面右下角会显示帧率和内存占用条开发时观察瓶颈不用额外接工具。版本与子模块的同步策略仓库会在 LVGL 核心库发布大版本后不久更新子模块引用并打上对应的版本标签。日常跟进更新只需两步先git pull拉取主仓库其中包含子模块的新引用再执行git submodule update --init --recursive把子模块代码对齐到新引用。顺序不能反否则引用的版本和实际代码会对不上。如果你要引入子模块中更新版本的修复就得自行更新引用子模块里如有源码文件增删.vcxproj工程文件也要跟着调整可以参照历史上做子模块更新的提交记录来改。维护者的完整流程写在Documents/HowToSynchronizeLvglRelatedSubmodules.md更新子模块后运行LVGL.MaintainerTools.slnx中的LvglProjectFileUpdater同步工程文件再用定义生成器同步LvglWindows.def。master 分支是开发线可能出现编译失败等问题要稳定使用请选用带release/前缀的分支。⚠️ 构建失败与运行异常的自查顺序按出现频率从高到低排编译不过先核对 VS 版本与分支是否匹配见环境要求再确认子模块完整LvglPlatform/lvgl等目录应有实际内容最后检查目标平台。构建目标不符合预期检查是否被默认选中了 ARM64手动切换到 x86/x64。运行崩溃或内存不足确认LV_MEM_SIZE至少 128KiB项目默认 256KiB打开的内存监控和LV_USE_LOG日志可以帮你定位。显示模糊或尺寸不对这是 DPI 行为问题。模拟器下画面被拉伸是设计如此应用程序模式下 DPI 应同步变化。先确认你跑的是哪一类的工程。产物体积偏大可以改用 VC-LTL 工具链编译体积能接近 MinGW 的水平。下一步选择只是验证 UI留在模拟器里按需求在lv_conf.h中打开演示然后把LvglWindowsSimulator.cpp里的lv_demo_widgets()换成你自己的对象创建代码即可。做桌面应用把LvglWindowsDesktopApplication设为启动项目重点处理窗口缩放和 DPI 自适应逻辑。跟进 LVGL 更新看带release/前缀的分支和版本标签用pull submodule update两步同步需要更深修复时按子模块文档自行更新引用。【免费下载链接】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),仅供参考
返回列表