采用模拟器运行方式,可以先在Windows系统下开发和测试界面,节省反复烧录测试时间。下面内容中所述git下载命令,如果执行过于缓慢,可使用github加速工具,例如FastGithub等,可显著提高下载速度。
Visual Studio的模拟器运行设置
-
安装Visual Studio
下载安装Visual Studio 2022社区版,只需安装开发C++程序的选项即可。
-
下载模拟工程和源代码
安装好git,打开命令窗口,进入指定的路径,运行以下命令,可以将针对Visual Studio的工程文件和所需的LVGL源代码一起下载。
git clone --recurse-submodules https://github.com/lvgl/lv_sim_visual_studio.git
-
编译运行
打开工程根目录下的LVGL.sln文件,生成解决方案,完成后可运行。
Clion的模拟器运行设置
基于Visual Studio的代码比较乱,而且用Clion写C代码的体验确实好,所以能用Clion最好。采用Clion的模拟器运行设置如下。
安装MinGW-W64
- 下载MinGW-W64,下载下载链接:https://github.com/niXman/mingw-builds-binaries/releases,当前的最新版本是13.2.0,选择:x86_64-13.2.0-release-posix-seh-msvcrt-rt_v11-rev0.7z,下载后解压到指定位置,例如:
C:\mingw64
,路径中不要有空格和中文字符。 - 将系统环境变量的
PATH
中增加MinGW
的可执行文件路径,例如:C:\mingw64\bin
,然后打开命令行窗口,执行:gcc -v
,如果能正确输出版本信息,则安装完成。
安装Clion
- 官网下载并安装,当前安装的版本是2023.1.5。
- 运行Clion,关闭所有项目,在左侧栏Plugins下的Marketplace中搜索Chinese,安装中文语言包,然后重启。
安装SDL2库
- 下载SDL2,LVGL官网给出的下载连接是这个:https://www.libsdl.org/download-2.0.php,但下载太慢,可以到这个链接下载:https://www.libsdl.org/release/,下载SDL2-devel-2.28.4-mingw.zip。
- 将
SDL2-2.28.4\x86_64-w64-mingw32
文件夹下的所有内容复制到mingw64
根文件夹。
下载模板项目和源代码
git clone --recurse-submodules https://github.com/lvgl/lv_port_pc_eclipse.git
Clion设置
打开Clion,进入设置,在构建、执行、部署栏下的工具栏页面,新建工具链,如下图所示。
在CMake页面中的工具链中,选择新建的工具链。
项目编译和调试问题
-
用Clion打开下载的
lv_port_pc_eclipse
文件夹,选择CMmake项目,编译,会出现错误C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/mingw64/lib/libSDL2main.a(SDL_windows_main.o): in function `main_getcmdline': /Users/valve/release/SDL2/SDL2-2.28.4-source/foo-x64/../src/main/windows/SDL_windows_main.c:80: undefined reference to `SDL_main'
将
main.c
中的#define SDL_MAIN_HANDLED
一行注释掉,重新编辑即可运行。 -
调试控制台不输出
原因是stdout缓存导致,在
main
函数开始处,增加setbuf(stdout, NULL)
,禁止stdout缓存,在代码头部增加#include <stdio.h>
,即可解决。
演示程序和例子
在main.c
中,可以加入demos
和examples
目录下的其它演示程序和例子,编译后直接运行。