Visual Studio 2022 手动搭建 PC 端 lvgl 的调试环境

说明

  • 想手动搭建一个 PC 端 lvgl 的调试环境,基于 Visual Studio 2022

  • LVGL 有个官方的仓库:https://github.com/lvgl/lv_port_pc_visual_studio.git,基本功能已经搭建好了

  • 但是 LVGL 官方的仓库 lv_port_pc_visual_studio 看起来貌似有点复杂,所以想手动搭建一下,了解整个搭建过程

环境准备

  • 社区版版本的 Visual Studio 2022 或者其他 Visual Studio 版本

  • 下载 LVGL lv_port_pc_visual_studio 仓库,作为标准,其实主要是获取 lv_conf.h 、lvgl 初始化与 windows 窗口初始化等,并获取 Visual Studio 编译 LVGL 的一些配置项

  • 使用 git clone lv_port_pc_visual_studio 仓库

c 复制代码
git clone https://github.com/lvgl/lv_port_pc_visual_studio.git --recurse-submodules

工程搭建

第一步:创建工程项目

  • 打开 Visual Studio 2022,【创建新项目】,新建一个 C++ 的空的工程 【空项目】,比如 lvgl_sim_vs


第二步:下载 lvgl

第三步:新建 simulator 目录

  • 在刚刚创建的 Visual Studio 2022 工程目录下,新建一个 simulator 的目录,用于存放 lv_conf.h 、lvgl 初始化与 windows 窗口初始化等文件。

  • 打开 lvgl 的官方的 lv_port_pc_visual_studio 仓库,把

lv_port_pc_visual_studio\LvglWindowsSimulator\lv_conf.h 复制为 lvgl_sim_vs\simulator\lv_conf.h

lv_port_pc_visual_studio\LvglWindowsSimulator\LvglWindowsSimulator.cpp 复制为 lvgl_sim_vs\simulator\simulator.c

第四步:整理工程文件

  • 新建的 Visual Studio 2022 工程 lvgl_sim_vs,在【解决方案资源管理器】中,点击 【显示所有文件】的按钮,然后发现 lvgl 与 simulator 目录已经在工程中显示了。
  • 然后 【解决方案资源管理器】中选择 simulator 目录, 右键点击 【包括在项目中】,添加项目文件到项目中
  • 同上,【解决方案资源管理器】中选择 lvgl 目录下的 src 目录, 右键点击 【包括在项目中】,把 lvglsrc 目录添加到工程中

第五步:设置工程

  • 设置工程的头文件路径:【解决方案资源管理器】中选择工程 lvgl_sim_vs ,右键【属性】,在 【C/C++】的 【附加包含目录】,添加工程的头文件目录 simulator. 目录,注意 . 表示工程的根目录

第六步:工程编译

  • 现在编译工程:【生成解决方案】,会发现有几个编译错误

  • 注释或者移除 lvgl_sim_vs\simulator\simulator.c 中的 #include <LvglWindowsIconResource.h>,也就是暂时不使用程序图标 icon

  • 注释或者移除 lvgl_sim_vs\simulator\simulator.c 如下的图标设置代码

c 复制代码
'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  • 【解决方法】 增加 【宏定义】 _CRT_SECURE_NO_WARNINGS 设置,【解决方案资源管理器】中选择工程 lvgl_sim_vs ,右键【属性】,在 【C/C++】 -> 【预处理器】 -> 【预处理器定义】 中,增加 _CRT_SECURE_NO_WARNINGS
  • 此时编译后,提示找不到 lvgl_sim_vs\simulator\simulator.c 中的 lv_demo_widgets,这是个 lvgl 内置的示例,可以复制 lvgl 中一个简单用例来验证即可。
c 复制代码
无法解析的外部符号 lv_demo_widgets,函数 main 中引用了该符号
  • 【解决方法】复制 lvgl_sim_vs\lvgl\examples\get_started\lv_example_get_started_1.c 中的函数 lv_example_get_started_1lvgl_sim_vs\simulator\simulator.c,然后把 lvgl_sim_vs\simulator\simulator.clv_demo_widgets 改为 lv_example_get_started_1


经过以上的步骤,Visual Studio 2022 手动搭建 PC 端 lvgl 的调试环境,初步搭建完成了。

调试与运行

  • 点击 Visual Studio 2022 调试按钮,即可运行 lvgl 示例

小结

  • 前期可以验证 lvgl 自带的一些示例,也就是把 lvgl\examples 加入到工程中,在 lvgl_sim_vs\simulator\simulator.c 中调用相关示例的 api 即可。
相关推荐
可视化运维管理爱好者18 小时前
nVisual Studio:数据中心网络智能规划设计工具
网络·ide·visual studio
o5278831842 天前
校园一体化管理系统2.1、基于整洁四层架构 + DDD+CQRS 项目目录解读
后端·架构·c#·asp.net·visual studio
彷徨而立5 天前
【VS2017】 一个使用 cl 和 link 命令例子
visual studio
fuquxiaoguang6 天前
从“代码补全”到“架构合规”:VS2026企业定制AI智能体如何重塑研发质量体系
人工智能·visual studio·研发质量
阿米亚波6 天前
【C++ STL】std::forward_list
开发语言·c++·笔记·stl·visual studio·forward_list
t_guest7 天前
LVGL学习(四)- Objects
入门·lvgl
DevangLic8 天前
【第一次使用Visual Studio 2026+使用claude 拓展】
android·ide·visual studio
abcd_zjq8 天前
Visual studio community 2026 安装缺少 Microsoft.net.4.8.FullRedist.20H2
microsoft·.net·visual studio
慕容白 MU9 天前
开源一个基于LVGL的图层管理框架(LMF)
开源·lvgl·图层管理框架