ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于Qt的Littlevgl移植(Windos10)

2022-09-11 19:02:20  阅读:199  来源: 互联网

标签:Windos10 Qt SDL2 Desktop 文件夹 include Littlevgl


安装Qt

之前已经安装完毕,没有装好的自行百度安装。

下载Littlevgl源码

浏览器下载
下载地址:Littlevgl源码

git bash下载

新建文件夹littlevgl,进入后右键Git Bash Here,进入bash后执行以下命令下载:

$ git clone https://github.com/littlevgl/pc_simulator.git

下载后执行以下命令,检出

$ cd pc_simulator
$ git submodule update --init

检出/解压缩后得到文件如下:
在这里插入图片描述

下载显示驱动

如果要在pc上显示出来,必须要显示的驱动库,在pc上显示模拟器可以使用sdl库,但是这里并没有sdl的库的文件,所以必须手动下载sdl的库。

下载显示驱动SDL2
下载SDL2-devel-2.0.12-mingw.tar
下载地址
解压后文件如下:
在这里插入图片描述
注意:
如果你的qt使用的MinGW 是32位的需要选择32位的sdl库,如果MinGW是64位的要选择64位的sdl库,不然链接的时候会出错

开始搭建littlevgl仿真项目

新建工程
新建文件夹QT_littlevgl,注意文件目录不要有中文。打开Qt,选择文件->新建文件或项目

在这里插入图片描述
在这里插入图片描述

编辑文件

  • 打开LittleVgl.pro文件,删除SOURCES += main.c,并将工程文件夹下的main.c文件删除。
  • 打开 C:\Users\Tulring\Desktop\V3S\littlevgl\pc_simulator
    文件夹,将如下文件复制到项目文件夹C:\Users\Tulring\Desktop\V3S\Qt-Littlevgl\LittleVgl下。

在这里插入图片描述
复制后的文件夹如下:
在这里插入图片描述

  • 进入H:\pc_littlevGL\littlevGL\lv_drivers\display,删除fbdev.c和fbdev.h这个是和linux的显示驱动相关的,我们这里不需要,可以删除或者不把它添加到编译,我们这里选择删除。
  • 在C:\Users\Tulring\Desktop\V3S\Qt-Littlevgl\LittleVgl文件夹下新建SDL2文件夹,将sdl2的链接库复制过来。因为我的是32位的把SDL2-2.0.10\i686-w64-mingw32里面的所有文件复制到C:\Users\Tulring\Desktop\V3S\Qt-Littlevgl\LittleVgl\SDL2

在这里插入图片描述

回到Qt,右键工程文件,选择Add Exiting Directory,把所有.c .h文件都添加进来。
在这里插入图片描述
打开.pro文件,添加以下语句,告诉编译器指定lib的库路径。

LIBS += -L$$PWD/SDL2/lib/ -lmingw32 -lSDL2main -lSDL2

因为我们的sdl的库的头文件是SDL2/include/SDL2/SDL.h,不是SDL2/SDL.h 所以要按照如下图修改main.c和lv_drv_conf.h
main.c

/*********************
 *      INCLUDES
 *********************/
#define _DEFAULT_SOURCE /* needed for usleep() */
#include <stdlib.h>
#include <unistd.h>
#define SDL_MAIN_HANDLED /*To fix SDL's "undefined reference to WinMain" \
                            issue*/
//#include <SDL2/SDL.h>
#include <SDL2/include/SDL2/SDL.h>
#include "lvgl/lvgl.h"
#include "lv_drivers/display/monitor.h"
#include "lv_drivers/indev/mouse.h"
#include "lv_examples/lv_examples.h"

lv_drv_conf.h

/* Used to test true double buffering with only address changing.
 * Set LV_VDB_SIZE = (LV_HOR_RES * LV_VER_RES) and  LV_VDB_DOUBLE = 1 and LV_COLOR_DEPTH = 32" */
#  define MONITOR_DOUBLE_BUFFERED 0

/*Eclipse: <SDL2/SDL.h>    Visual Studio: <SDL.h>*/
#  define MONITOR_SDL_INCLUDE_PATH    <SDL2/include/SDL2/SDL.h>

/*Different rendering might be used if running in a Virtual machine*/
#  define MONITOR_VIRTUAL_MACHINE 0

  • 点击:构建->构建项目
    编译会报错,将C:\Users\Tulring\Desktop\V3S\Qt-Littlevgl\LittleVgl\SDL2\bin中的SDL2.dll复制到C:\Users\Tulring\Desktop\V3S\Qt-Littlevgl\build-LittleVgl-Desktop_Qt_5_10_0_MinGW_32bit-Debug\debug即可解决。
  • 重新编译

在这里插入图片描述

标签:Windos10,Qt,SDL2,Desktop,文件夹,include,Littlevgl
来源: https://www.cnblogs.com/xiaohai123/p/16684576.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有