02. LVGL模拟器的使用
一、下载LVGL的PC模拟器
PC 模拟器是指可以在电脑上模拟其他平台的模拟器软件。在没有硬件的情况下,用户依然可以使用模拟器来调试 GUI。我们可以从 LVGL 官方的在线文档中获取 LVGL 模拟器(https://docs.lvgl.io/master/index.html),点击【Integration and Drivers】选项,然后再点击【IDEs】选项,接着再点击【Simulator on PC】选项,然后再点击【Select an IDE】选项,然后再在文档中点击 VSCode with SDL driver 超链接。
在打开的 GitHub 链接中,我们下载 lv_port_pc_vscode 源码。如果我们通过压缩包的方式下载,该仓库中的子仓库【lvgl】(LVGL 的源代码仓库,网址为:https://github.com/lvgl/lvgl)不会下载,我们还需要将子仓库的文件分别下载,并复制到主工程相应的文件夹当中。
此外,我们还需要下载 lvgl_drivers,它的源代码网址为:https://github.com/lvgl/lv_drivers。下载后,将它复制到 v_port_pc_vscode 工程目录下。
二、下载MinGW
MinGW,是 Minimalist GNU for Windows 的缩写。它是一个可自由使用和自由发布的 Windows 特定头文件和使用 GNU 工具集导入库的集合,允许你在 GNU/Linux 和 Windows 平台生成本地的 Windows 程序而不需要第三方 C 运行时(C Runtime)库。它的下载地址如下:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ 或 https://github.com/niXman/mingw-builds-binaries/releases。
下载完后,我们需要把 MinGW 的安装目录下的【bin】目录添加到 Path 环境变量。
三、下载CMake
CMake 是一个开源的跨平台自动化构建系统,主要用于管理软件的构建过程。它不依赖于特定的编译器,并支持多层目录、多个应用程序和多个函数库。CMake 通过使用简单的配置文件 CMakeLists.txt,自动生成不同平台的构建文件,如 Makefile、Ninja 构建文件、Visual Studio 工程文件等,从而简化了项目的编译和构建过程。它的下载网址:https://cmake.org/download/。
四、VSCode安装C/C++插件
然后我们还需要再 VSCode 中安装对应的 C/C++ 插件。这里,推荐使用微软官方提供的 C/C++ 插件包。
五、下载SDL
Simple DirectMedia Layer(SDL)是一个跨平台开发库,旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、操纵杆和图形硬件的低级别访问。它被视频播放软件、模拟器和流行游戏使用。它的下载网址如下:https://github.com/libsdl-org/SDL/releases。
将下载的 SDL2 压缩包解压,并将【cmake】和【x86_64-w64-mingw32】复制到安装 MinGW 的路径下。
六、编译LVGL工程
用 VSCode 打开之前下载好的 LVGL 的 PC 模拟器,然后配置 CMake 使用的编译器。
点击生成按钮,报找不到 mommove()
函数问题,此时需要手动添加
再次点击生成按钮,报找不到 -lasan 和 -lubsan 问题,这是因为 Windows 中没有 asan 和 ubsan 这两个内存检测工具库,则直接将 cmake 的两句代码注释掉即可。
再一次点击生成按钮,报未定义标识定义标识 SDL_main 问题,需要在 main.c 文件中手动包含头文件 SDL.h。
再次点击生成问题,生成没有问题之后,然后在点击运行按钮,但是图形未显示出来,则将下载的 SDL 文件夹下的【x86_64-w64-mingw32】下的【bin】下的 SDL2.dll 库复制到工程文件中的生成的【bin】文件中,即可显示界面。