搭建前资料下载
链接:https://pan.baidu.com/s/1nV9jojPEPWSWZdYhaCZWTA 提取码:91j8
下载资料后解压文件及安装VS2022 ,选择通用windows平台开发及Visual Studio进行安装,安装步骤略
打开VS2022,点击创建新项目
选择Windows Console Application (C++/WinRT),点击下一步
输入名程lvgl820_similator,选择目录,勾选将解决方案和项目放在同一目录中,点击创建,再点击确定
在工程目录中新建一个文件夹并命名为lvgl_folder
将下载的lv_demos-master,lv_drivers-master,lvgl-master三个文件夹复制到lvgl_folder文件中,并分别命名为lv_demos,lv_drivers,lvgl,然后分别将其里面的文件分别移动到其对应的目录下
将lv_drivers中的lv_drv_conf_template.h和lvgl中的lv_conf_template.h的文件,lv_demos目录下的lv_demo_conf_template.h复制到lvgl_folder目录下,并分别命名为lv_drv_conf.h和lv_conf.h,lv_demo_conf.h
在工程中分别创建lvgl,lvgl_drivers,lvgl_demos三个筛选器
将lvgl_folder文件夹中的文件分别加入到工程
点击显示所有文件
分别将lvgl,lvgl_drivers,lvgl_demos,lv_conf.h,lv_drv_conf.h,lv_demo_conf.h含到项目中
将lv_drv_conf.h文件中的条件编译总开关打开
#if 1
#ifndef USE_WIN32DRV
# define USE_WIN32DRV 1
#endif
将lv_conf.h中的文件配置如下
#if 1
- LV_MEM_SIZE宏定义为(1024U * 1024U)
#define LV_MEM_SIZE (1024U * 1024U)
- LV_TICK_CUSTOM宏设为1,定义windos.h文件,定义时间函数GetTickCount()
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE <Windows.h>
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (GetTickCount())
#endif
#define LV_USE_LOG 1
- 将LV_USE_PERF_MONITOR和LV_USE_MEM_MONITOR设为1
#define LV_USE_PERF_MONITOR 1
#if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif
#define LV_USE_MEM_MONITOR 1
#if LV_USE_MEM_MONITOR
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif
- 将LV_FONT_MONTSERRAT_12和LV_FONT_MONTSERRAT_16设为1
#define LV_FONT_MONTSERRAT_8 0
#define LV_FONT_MONTSERRAT_10 0
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 0
#define LV_FONT_MONTSERRAT_20 0
#define LV_FONT_MONTSERRAT_22 0
#define LV_FONT_MONTSERRAT_24 0
#define LV_FONT_MONTSERRAT_26 0
#define LV_FONT_MONTSERRAT_28 0
#define LV_FONT_MONTSERRAT_30 0
#define LV_FONT_MONTSERRAT_32 0
#define LV_FONT_MONTSERRAT_34 0
#define LV_FONT_MONTSERRAT_36 0
#define LV_FONT_MONTSERRAT_38 0
#define LV_FONT_MONTSERRAT_40 0
#define LV_FONT_MONTSERRAT_42 0
#define LV_FONT_MONTSERRAT_44 0
#define LV_FONT_MONTSERRAT_46 0
#define LV_FONT_MONTSERRAT_48 0
#define LV_BUILD_EXAMPLES 1
#define LV_USE_DEMO_WIDGETS 1
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 1
#endif
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 1
#define LV_USE_DEMO_BENCHMARK 1
#define LV_USE_DEMO_STRESS 1
#define LV_USE_DEMO_MUSIC 1
#if LV_USE_DEMO_MUSIC
# define LV_DEMO_MUSIC_SQUARE 0
# define LV_DEMO_MUSIC_LANDSCAPE 0
# define LV_DEMO_MUSIC_ROUND 0
# define LV_DEMO_MUSIC_LARGE 0
# define LV_DEMO_MUSIC_AUTO_PLAY 0
#endif
点击项目菜单,点击属性
点击C/C++,选择常规,在附加包含目录中加入lvgl_folder,点击应用
在main.cpp中换成以下内容
#include "lvgl/lvgl.h"
#include "lvgl/examples/lv_examples.h"
#include "lv_demos/lv_demo.h"
#include "lv_drivers/win32drv/win32drv.h"
#define IDI_LVGL 101
int main()
{
lv_init();
if (!lv_win32_init(
GetModuleHandleW(NULL),
SW_SHOW,
800,
480,
LoadIconW(GetModuleHandleW(NULL), MAKEINTRESOURCE(IDI_LVGL))))
{
return -1;
}
lv_win32_add_all_input_devices_to_group(NULL);
lv_demo_widgets();
while (!lv_win32_quit_signal)
{
lv_task_handler();
Sleep(1);
}
return 0;
}
将C/C++中预编译头,选择不使用预编译头
在C++预处理器中新增加如下内容
_CRT_SECURE_NO_WARNINGS
UNICODE
编译工程,有以下错误
双击跳转到错误,使用成员draw_ctx替换所有出错的clip_area后再次编译,出现如下错误
在链接器,输入,附加依赖项加入以下内容
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
再次编译运行,运行结果如下
Demo下载 提取码:b6cy
|