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仓库
git clone https://github.com/lvgl/lv_port_pc_visual_studio.git --recurse-submodules
工程搭建
第一步:创建工程项目
- 打开
Visual Studio 2022,【创建新项目】,新建一个C++的空的工程 【空项目】,比如lvgl_sim_vs


第二步:下载 lvgl
- 可以通过 git 拉取最新的 lvgl 的代码 https://github.com/lvgl/lvgl.git,然后放置在刚刚创建的
Visual Studio 2022工程目录下

第三步:新建 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目录, 右键点击 【包括在项目中】,把lvgl的src目录添加到工程中

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

第六步:工程编译
-
现在编译工程:【生成解决方案】,会发现有几个编译错误
-
注释或者移除
lvgl_sim_vs\simulator\simulator.c中的#include <LvglWindowsIconResource.h>,也就是暂时不使用程序图标icon -
注释或者移除
lvgl_sim_vs\simulator\simulator.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 中一个简单用例来验证即可。
无法解析的外部符号 lv_demo_widgets,函数 main 中引用了该符号
- 【解决方法】复制
lvgl_sim_vs\lvgl\examples\get_started\lv_example_get_started_1.c中的函数lv_example_get_started_1到lvgl_sim_vs\simulator\simulator.c,然后把lvgl_sim_vs\simulator\simulator.c中lv_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即可。
