1. 项目源码准
模拟器列表: https://sim.lvgl.io/
8.3版本模拟器: LVGL/MicroPython Simulator
1.1 下载模拟器项目
GitHub - lvgl/lv_port_pc_eclipse at release/v8.3
1.2 下载lvgl源码
GitHub - lvgl/lvgl at release/v8.3
1.3 下载lvgl drivers源码
GitHub - lvgl/lv_drivers at release/v8.3
1.4 新建工程
- 创建目录
lvgl_simulator
,将此目录作为项目目录. - 将
lv_port_pc_eclipse_master.zip
的内容解压到项目目录
. - 将
lvgl_master.zip
解压,重命名为lvgl
,然后移动到项目目录
中. - 将
lv_drivers_master.zip
解压,重命名为lv_drivers
,然后移动到项目目录
中.
操作完成后,目录结构如下:
2. 配置MinGW环境
MinGW(Minimalist GNU for Windows)是一个在Windows平台上开发和运行本地(native)应用程序的开发工具集。MinGW的目标是提供一个轻量级、最小化的GNU工具集,使开发者能够在Windows环境下使用类Unix的工具和编程环境。
MinGW的主要组成部分包括:
- GCC(GNU Compiler Collection): 一个强大的编译器套件,包括C、C++、Fortran等语言的编译器。
- Binutils: 一组用于处理二进制文件的工具,包括汇编器、链接器等。
- MSYS(Minimal SYStem): 一个提供类Unix shell环境的工具,使得在Windows环境下使用GNU工具更为方便。
MinGW的主要目标是让开发者能够在Windows上使用开源和跨平台的软件开发工具,而无需依赖于Microsoft Visual Studio等闭源工具。使用MinGW,开发者可以编写和编译与Windows API无关的本地应用程序,这对于跨平台开发和移植代码至Windows平台是非常有用的。
2.1 解压缩
例如,我将mingw64解压缩到我电脑的C:\devtools\mingw64
2.2 配置环境变量
2.3 验证环境
使用where命令,可以验证当前配置是否正确
3. 安装CMake
下载cmake安装包并安装,注意将cmake添加至环境变量。
验证安装成功:cmake --version
4. 使用VSCode编译运行
4.1 安装c/c++插件
- C/C++ Extension Pack
- CMake
- CMake Tools
4.2 通过VSCode工具打开准备好的源码目录
4.3 编译运行
打开后,默认会编译一次,如下图
- 左侧是源码目录结构
- 右侧输出为编译信息
- 下方是操作面板
操作面板中有:
- CMake配置
- GCC配置
- Build对源码进行编译
- 三角形为运行按钮
如果GCC配置部分为空,点击GCC方面进行配置
点击Build对源码进行编译,编译完成后,会多出bin
和build
目录,将mingw64\x86_64-w64-mingw32\bin里的SDL2.dll拷贝到bin这个目录中。
然后点击下方栏目三角形的运行按钮,运行结果如下:
5. SDL环境准备(选做)
Simple DirectMedia Layer是一个跨平台开发库,旨在通过OpenGL和Direct3D提供对音频、键盘、鼠标、操纵杆和图形硬件的低级别访问。它被视频播放软件、模拟器和流行游戏使用,包括Valve的获奖目录和许多Humble Bundle游戏。
如果编译过程爆出如下错误,则才需要配置
5.1 下载SDL2源码
https://github.com/libsdl-org/SDL/releases/download/release-2.0.22/SDL2-devel-2.0.22-mingw.zip
5.2 解压源码
将SDL2-devel-2.0.22-mingw.zip
解压,解压后目录如下:
5.3 下载cmake配置文件
SDL/mingw/pkg-support/cmake at SDL2 · libsdl-org/SDL · GitHub
下载 sdl2-config-version.cmake
和sdl2-config.cmake
两个文件。
新建目录cmake
,将这两个文件放入到目录中。
然后将cmake
目录,放入到SDL解压目录中,如下图所示:
5.4 备份SDL2.dll文件
来到SDL2-2.0.22\x86_64-w64-mingw32\bin
目录,备份SDL2.dll
文件,等待后续使用
5.5 配置MinGW环境
拷贝SDL2-2.0.22
下的以下两个目录:
- cmake
- x86_64-w64-mingw32
来到MinGW的安装目录,将拷贝的这两个目录粘贴到此目录下,如下图:
6. 问题及解决
重要的事情说三遍:
先确保源码所在目录不包含中文和空格!!!
先确保源码所在目录不包含中文和空格!!!
先确保源码所在目录不包含中文和空格!!!
6.1 没有GCC状态栏
VSCode左下角没有GCC设置状态栏
解决:
打开CMake Tools设置
添加 status
过滤,并将hidden
选项改成visible
6.2 扫描不到Mingw环境
没有GCC
- 确保环境变量PATH中已经添加
mingw64/bin
路径 - 点击扫描工具包
- 如果仍旧没出现,可重启VSCode或注销、重启电脑。
6.3 无法确定要使用的CMake生成器
无法确定要使用的 CMake 生成器。请安装或配置首选生成器,或更新 settings.json、工具包配置
Error: 找不到任何可用的生成器。
解决:
- 确保
gcc -v
是12.2.0以上版本 - 确保
cmake --version
不报错 - 按照如下引导配置Cmake插件
给Cmake插件的Generator生成器配置如下内容:
MinGW Makefiles
如果有多个版本的MinGW环境,解决方式点左边箭头展开。
注:
如果有多个版本的MinGW环境,可以将系统变量Path路径里新版本的MinGW的bin路径放最上边,以保证gcc用的是最新版本。如下:
6.4 CMake Error
CMake Error: Target DependInfo.cmake file not found
把项目放到不包含中文和空格的目录,删除build文件夹,再进行编译生成
6.5 CMake配置项目失败
解决:
删除Build目录,重新编译生成