windows clion lvgl 使用 sdl2

环境说明

  • windows (win10)
  • clion (CLion 2025.2.4)
  • LVGL (2025-12-20 master 最新)
  • SDL2 lib (release-2.32.8 手动编译)
  • x86_64-w64-mingw32 编译工具链

编译 SDL2 lib

配置 clion cmake

  • SDL2 lib 以静态库的方式链接到工程

  • LVGL 的配置文件 lv_conf.h 配置 #define LV_USE_SDL 1,也就是使能 LV_USE_SDL

  • 工程 CMakeLists.txt 中增加如下配置

c 复制代码
link_directories(libs/sdl/lib)
include_directories(libs/sdl/include)

target_link_libraries(lvgl-sim
        libSDL2.a
        imm32
        winmm
        SetupAPI
        Version)

windows SDL 驱动

c 复制代码
static lv_display_t *display;
static lv_indev_t *mouse;
static lv_indev_t *mouse_wheel;
static lv_indev_t *keyboard;

int hal_init_sdl(void)
{
    display = lv_sdl_window_create(LCD_WIDTH, LCD_HEIGHT);
    if (!display)
    {
        return -1;
    }
    mouse = lv_sdl_mouse_create();
    if (!mouse)
    {
        return -1;
    }
    mouse_wheel = lv_sdl_mousewheel_create();
    if (!mouse_wheel)
    {
        return -1;
    }
    keyboard = lv_sdl_keyboard_create();
    if (!keyboard)
    {
        return -1;
    }
    return 0;
}

显示效果

  • 可以正常的显示

说明

  • 其实在 windows 端,显示可以不使用 SDL2,而是使用 LVGL 的 windows 的驱动,比如 lv_windows_get_display_window_handle
相关推荐
cws2004013 小时前
HeidiSQL 使用操作说明书
运维·数据库·windows·mysql·heidisql
RealizeInnerSelf丶3 小时前
Web 网页如何唤起本地 Windows 应用并传递参数(含 Electron 自动注册 + 手动配置指南)
前端·windows
武藤一雄3 小时前
一款基于WPF开发的BEJSON转换工具
windows·c#·json·wpf
嘻嘻嘻开心4 小时前
Collection接口
linux·windows·python
应用市场5 小时前
基于 C# WinForms 的 Windows 系统监控工具开发实战
windows·单片机·c#
bleach-5 小时前
应急响应之入侵检测排查——Windows篇—,Windows日志介绍分析
windows·安全·web安全·网络安全·系统安全
元气满满-樱5 小时前
安装Windows Server 2008
windows·云计算
love530love6 小时前
Win11+RTX3090 亲测 · ComfyUI Hunyuan3D 全程实录 ②:nvdiffrast 源码编译实战(CUDA 13.1 零降级)
人工智能·windows·python·github·nvdiffrast
坚果派·白晓明7 小时前
【开发者可选工具】Windows 11 安装 Visual Studio Code 完整指南
ide·windows·vscode·开发者可选工具·开源项目可选ide