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
相关推荐
Ashley_Amanda15 分钟前
Python 常见问题梳理
开发语言·windows·python
码农水水1 小时前
阿里Java面试被问:RocketMQ的消息轨迹追踪实现
java·开发语言·windows·算法·面试·rocketmq·java-rocketmq
WTCLLB1 小时前
cmd-set-ip
网络·windows
APIshop1 小时前
实战解析:1688详情api商品sku、主图数据
java·服务器·windows
云霄IT1 小时前
centos7安装防火墙为项目开放服务器端口
服务器·网络·windows
不染尘.2 小时前
Linux的基本管理及命令(上)
linux·windows·ssh
全栈小52 小时前
【PHP】如何将ThinkPHP 5部署到windows服务器的IIS里,和PHP版本又是一个怎么样的关系,三分钟教程搞定部署
服务器·windows·php
weixin_462446232 小时前
【原创实践】Windows 和 Linux 下使用 Python 3.10 搭建 PaddleOCRVL 识别图片并100%还原表格
linux·windows·python·飞浆
人工智能训练3 小时前
UE5中如何解决角色网格体“掉下去”的问题
运维·服务器·windows·容器·ue5
唐宋元明清218810 小时前
.NET 磁盘管理-技术方案选型
windows·c#·存储