windows下用Qt Creator运行LVGL 8.2

背景

最近在学习LVGL,手头又没有硬件,好多网上资料介绍了如何在PC端模拟,纯C语言实现的库模拟的话也不会复杂,恰巧本人熟悉Qt Creator,那就用这个环境模拟吧,网上搜索到了两篇关于Qt Creator模拟的LVGL的文章,感觉比较复杂并且版本也比较旧了,因此将自己实现的过程记录分享给大家。

1、准备好Qt Creator

这里不再赘述了,我电脑安装的Qt Creator 4.14.2,编译器用的是MinGW32

2、准备原材料

官方提供的eclipse工程,用cmake构建的,直接用Qt Creator就能直接编译了

GitHub - lvgl/lv_port_pc_eclipse at release/v8.2

lvgl 8.2 源码

GitHub - lvgl/lvgl at release/v8.2

lvgl 驱动

GitHub - lvgl/lv_drivers at release/v8.2

SDL2——开放源代码的跨平台多媒体开发库(minGW平台下)

SDL2-devel-2.26.1-mingw.zip

对于github上代码下载,直接code->download zip就可以了,如果你熟悉git工具,直接用git clone eclipse工程更加方便,因为里面链接了lv_driver、lvgl,就不用单独再下载。

3、工程创建

解压上面下载的4个压缩包,将解压后的目录改名,去掉后缀,修改后:lv_drivers, lv_port,lv_port_pc_eclipse,lvgl,SDL2;

将lv_drivers,lv_port,lvgl,SDL2剪切到lv_port_pc_eclipse,其目录中文件列表如下图

4、修改CMakeLists.txt

原因可略过:

为啥要修改CMakeLists.txt文件呢?其实一开始我也没修改,直接将解压的SDL2文件夹添加到了PATH的环境变量中了,find_package(SDL2 REQUIRED SDL2)发现了SDL2,但是构建的时候提示找不到-lSDL,如果你知道原因请给我留言哈。我就按自己的理解把cmake文件修改了,主要做了两个工作:添加头文件路径,添加动态库。

cmake_minimum_required(VERSION 3.10)
project(lvgl)
set(CMAKE_C_STANDARD 11)#C11
set(CMAKE_CXX_STANDARD 17)#C17
set(CMAKE_CXX_STANDARD_REQUIRED ON)INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})file(GLOB_RECURSE INCLUDES "lv_drivers/*.h" "lv_demos/*.h"  "lvgl/*.h"  "./*.h" )
file(GLOB_RECURSE SOURCES  "lv_drivers/*.c" "lv_demos/*.c"  "lvgl/*.c" )SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
SET(CMAKE_CXX_FLAGS "-O3")link_directories("SDL2/i686-w64-mingw32/bin")
include_directories("SDL2/i686-w64-mingw32/include")
add_executable(main main.c mouse_cursor_icon.c ${SOURCES} ${INCLUDES})
add_compile_definitions(LV_CONF_INCLUDE_SIMPLE)
target_link_libraries(main PRIVATE SDL2.dll)#find_package(SDL2 REQUIRED SDL2)
#include_directories(${SDL2_INCLUDE_DIRS})
#add_executable(main main.c mouse_cursor_icon.c ${SOURCES} ${INCLUDES})
#add_compile_definitions(LV_CONF_INCLUDE_SIMPLE)
#target_link_libraries(main PRIVATE SDL2 )
#link_directories("../out/build/x64-Debug/lib")#add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main)

5、构建运行

打开Qt Creator,文件->打开文件或项目,打开 lv_port_pc_eclipse下的CMakeLists.txt文件,点击构建,不出意外编译通过,点击运行

Qt Creator 运行LVGL模拟器相关推荐

  1. Qt Creator运行自动测试

    Qt Creator运行自动测试 运行自动测试 创建测试 创建Qt和Qt Quick测试 创建Google测试 创建Boost 测试 创建Catch2测试 设置Google C ++测试框架 构建和运 ...

  2. qt creator 运行 出现 “can not open .... jom for write 解决方案

    qt creator 运行 出现 "can not open .... jom for write 解决方案 参考文章: (1)qt creator 运行 出现 "can not ...

  3. Qt Creator 运行s60 Emulator

    经过几天的痛苦经历折腾,终于顺利在Qt Creator 下成功运行了. 上一篇是: Qt 有多少人折腾-qt for s60终于安装成功 上篇只是在Carbide环境下能新建Qt项目,由于Carbid ...

  4. Qt工作笔记-使用Qt Creator运行和调试运行结果不一样(参数没有初始化)

    使用的版本是Qt5.7 编译器为WinGW 同样的代码: 运行的时候: 这边显示的是开关, 在程序里面调试运行的时候: 又正常了, 这真是日了狗的操作! 真是奇特的操作啊! 找到给变量赋值的语句: 用 ...

  5. linux下运行lvgl 模拟器

    mkdir -p ~/lvgl cd ~/lvglgit clone -b 7.11.0 --recursive https://github.com/lvgl/lv_sim_vscode_sdl.g ...

  6. Qt Creator连接裸机设备

    Qt Creator连接裸机设备 连接裸机设备 启用裸机设备插件 EBlink 友情链接 OpenOCD St-Link uVision IDE uVision模拟器 uVision St-Link调 ...

  7. Qt Creator使用Heob检测内存泄漏

    Qt Creator使用Heob检测内存泄漏 使用Heob检测内存泄漏 指定Heob设置 记录结果 处理异常 在错误上引发异常 保护页面 处理泄漏数据 使用Heob检测内存泄漏 Qt Creator集 ...

  8. Qt Creator连接MCU

    Qt Creator连接MCU 连接MCU 要求 搭建开发环境 MCU插件 指定MCU设置 添加MCU设备 添加MCU套件 在MCU上运行应用程序 连接MCU Qt for MCU使您能够使用QML和 ...

  9. Qt:配置Qt Creator

    如果将Qt Creator作为Qt安装的一部分进行安装,则应该能够使用默认设置和配置选项直接使用它. 但是,如果您安装独立的Qt Creator程序包,从源代码构建Qt Creator或安装多个Qt版 ...

最新文章

  1. 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
  2. shiro基于url权限认证时doGetAuthorizationInfo方法不运行的解决办法
  3. 集群(cluster)原理(转)
  4. idea mac 快键键
  5. Android之launchMode总结
  6. PTA—计算摄氏温度(C语言)
  7. linux终端下打开pdf文件,如何从终端打开PDF文件?
  8. 论文阅读--异常检测中实时大数据处理的研究挑战
  9. 基于pg_qualstats和hypopg的自动索引调优
  10. WEB/HTTP服务器搭建
  11. 很努力了,为什么我还在原地踏步?
  12. java tomcat 404配置_在Tomcat中配置404自定义错误页面详解
  13. AGV调式之软件开发—API调用
  14. 植物大战僵尸java版视频_Java小项目之:植物大战僵尸,这个僵尸不太冷!
  15. 金蝶K3案例教程采购管理后台配置
  16. GPU显存占满利用率GPU-util奇低
  17. AtCoder Beginner Contest 165 D Floor Function 公式推导
  18. 文字对称中的数学与魔术(二)——英文字母到单词的对称性
  19. Java对象的序列化(Serialization)和反序列化详解
  20. C++中hpp文件浅析

热门文章

  1. 基于Android的家庭医生app
  2. WPA3功能开发及验证
  3. 硕士阶段人工智能有哪些比较好的发论文的方向?
  4. C语言链表的删除代码实现
  5. 使用drbd实现数据的高可用
  6. 如何统计多个Excel文件中的信息,统计多个工作簿中的数据,统计多个表格中相同的条,统计多个表格的和等等
  7. 优雅高效的多边形对称性判定算法
  8. 微信小程序原生开发功能合集一:微信小程序开发介绍
  9. Sql STUFF 用法
  10. vue 评论区回复无限嵌套实现代码