目录

  • 一、简介
    • 1、LittleVGL 所支持的 IDE 软件种类:
    • 2、需要的工具:
  • 二、安装配置软件和环境
    • 1、littleVGL 模拟器库
    • 2、安装CodeBlocks
  • 三、创建工程项目
  • 四、配置SDL2
  • 五、添加项目文件
    • 1、删除默认创建的文件
    • 2、添加库文件
    • 3、添加运行文件
  • 六、配置项目工程
  • 七、修改和编译
    • 1、修改文件
    • 2、编译:
    • 3、运行:
  • 八、问题解决:
    • 问题一:
    • 问题二:
    • 问题三:
    • 问题四:
    • 问题五:
    • 参考:

此篇完成后的工程文件:LittleVGL CodeBlocks模拟器编译成功的库和工程包

一、简介

1、LittleVGL 所支持的 IDE 软件种类:


此次使用CodeBlocks,安装使用比较简单。

2、需要的工具:

软件和版本 文件名 下载
CodeBlocks 17.12 codeblocks-17.12mingw-setup.exe http://www.codeblocks.org/downloads/26
SDL2 SDL2-devel-2.0.10-mingw.tar.gz http://www.libsdl.org/download-2.0.php
LittleVGL 模拟器库 lv_pc_simulator.zip https://github.com/littlevgl/pc_simulator

CSDN打包下载:LittleVGL PC模拟器环境包(CodeBlocks)

二、安装配置软件和环境

1、littleVGL 模拟器库

  • 解压lv_pc_simulator.zip ,生成lv_pc_simulator目录。
  • 解压目录下的 lv_drivers.zip, lv_examples.zip, lvgl.zip三个文件
  • 目录下新建codeblocks子目录,用来存放 CodeBlock 项目工程文件
    目录结构:

2、安装CodeBlocks

  • 双击安装 codeblocks-17.12mingw-setup.exe,全部Next就可以了。
  • 安装完后弹出:

三、创建工程项目

File->New->Project...

GO

Next

Next

  • 项目名: littleVGL
  • 存放路径: lv_pc_simulator/codeblocks目录下。
  • Next


Finish

四、配置SDL2

  1. 解压 SDL2-devel-2.0.10-mingw.tar.gz
  2. SDL2-2.0.10\i686-w64-mingw32\include 目录下的 SDL2 目录拷贝到 CodeBlock 的安装目录 CodeBlocks\MinGW\include
  3. SDL2-2.0.10\i686-w64-mingw32\lib 下的 7 个.a 或者 .la 库文件拷贝到 CodeBlock 的安装目录 CodeBlocks\MinGW\lib

五、添加项目文件

1、删除默认创建的文件

  • 右键 main.c 文件,点击 Remove file from project 删除
  • lv_pc_simulator\codeblocks\littleVGL 目录下把main.c文件完全删除。

2、添加库文件


工程上右键——Add files recursively——选择 lv_pc_simulator 顶层目录

默认OK

默认OK
完成后的目录结构:

3、添加运行文件

SDL2-2.0.10\i686-w64-mingw32\bin 目录下的 SDL2.dll 文件拷贝到lv_pc_simulator\codeblocks\littleVGL\bin\Debug 目录下面。

六、配置项目工程

右键工程图标,点击Build options,打开对话框之后,在 Other linker options 下输入 -lmingw32 -lSDL2main -lSDL2

Search directories添加头文件搜索路径:

使用相对路径:

七、修改和编译

1、修改文件

(1)以下为4个演示例程,任意去掉一行的注释即可:

benchmark_create();
lv_test_theme_1(lv_theme_night_init(15, NULL));
lv_test_theme_2();
lv_test_group_1();


(2)修改lv_pc_simulator\lv_drv_conf.h头文件,宏定义改为 0

/*-----------------------------------------*  Linux frame buffer device (/dev/fbx)*-----------------------------------------*/
#ifndef USE_FBDEV
#  define USE_FBDEV           0
#endif

2、编译:

点击以下图标:

如果报错,参照第七点的问题解决

3、运行:

八、问题解决:

问题一:

||=== Build: Debug in littleVGL (compiler: GNU GCC Compiler) ===|
E:\Documents\lv_pc_simulator\lv_drivers\display\fbdev.c|17|fatal error: linux/fb.h: No such file or directory|


解决:
修改lv_pc_simulator\lv_drv_conf.h头文件,宏定义改为 0

/*-----------------------------------------*  Linux frame buffer device (/dev/fbx)*-----------------------------------------*/
#ifndef USE_FBDEV
#  define USE_FBDEV           0
#endif

问题二:

||=== Build: Debug in littleVGL (compiler: GNU GCC Compiler) ===|
obj\Debug\codeblocks\littleVGL\main.o||In function `main':|
E:\Documents\lv_pc_simulator\codeblocks\littleVGL\main.c|5|multiple definition of `main'|
obj\Debug\main.o:E:\Documents\lv_pc_simulator\main.c|60|first defined here|
||error: ld returned 1 exit status|

解决:
**删除lv_pc_simulator\codeblocks\littleVGL\main.c

问题三:

||=== Build: Debug in littleVGL (compiler: GNU GCC Compiler) ===|
||WARNING: Can't read file's timestamp: E:\Documents\lv_pc_simulator\codeblocks\littleVGL\main.c|
E:\Documents\lv_pc_simulator\main.c||In function 'memory_monitor':|
E:\Documents\lv_pc_simulator\main.c|208|warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]|
E:\Documents\lv_pc_simulator\main.c|208|warning: incompatible implicit declaration of built-in function 'printf'|
E:\Documents\lv_pc_simulator\main.c|208|note: include '<stdio.h>' or provide a declaration of 'printf'|obj\Debug\codeblocks\littleVGL\main.o||No such file or directory|
||=== Build failed: 1 error(s), 3 warning(s) (0 minute(s), 8 second(s)) ===|

解决:
头文件自己添加个#include <stdio.h>

问题四:

||=== Build: Debug in littleVGL (compiler: GNU GCC Compiler) ===|
||WARNING: Can't read file's timestamp: E:\Documents\lv_pc_simulator\codeblocks\littleVGL\main.c|obj\Debug\codeblocks\littleVGL\main.o||No such file or directory|
||=== Build failed: 1 error(s), 1 warning(s) (0 minute(s), 8 second(s)) ===|

在没有删除lv_pc_simulator\codeblocks\littleVGL\main.c前就先添加了文件导致的。
解决:
littleVGL工程上右键——Properties...——Build targets——去掉main.c的勾选。

问题五:

由于找不到SDL2.dll,无法继续执行代码,重新安装程序可能会解决此问题。

SDL2-2.0.10\i686-w64-mingw32\bin 目录下的 SDL2.dll 文件拷贝到lv_pc_simulator\codeblocks\littleVGL\bin\Debug 目录下面。

参考:

正点原子《手把手教你学littleVGL》4.PC模拟器的使用。

LittleVGL(LVGL)学习笔记——PC 模拟器的安装和使用(CodeBlocks)相关推荐

  1. linux系统管理学习笔记之三----软件的安装

    linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...

  2. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  3. 安装成功配置环境变量_go语言学习笔记-Windows10开发环境安装和环境变量配置

    相关文档 go语言学习笔记-目录 1.安装 1.1.访问 https://golang.google.cn/dl/ 或 https://golang.org/dl/ 下载官方安装包 1.2.选择Win ...

  4. Clojure学习笔记(一)——介绍、安装和语法

    Clojure学习笔记(一)--介绍.安装和语法 什么是Clojure Clojure是一种动态的.强类型的.寄居在JVM上的语言. Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变 ...

  5. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置...

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置 Download JetBrains Python IDE :: PyCharm http://ww ...

  6. Spark学习笔记[1]-scala环境安装与基本语法

    Spark学习笔记[1]-scala环境安装与基本语法   正所谓工欲善其事必先利其器,Spark的开发语言不是java而是scala,虽然都是运行于JVM,但是两门语言的基本特性还是有些不一样,这里 ...

  7. vue-resource post php,Vue学习笔记进阶篇——vue-resource安装及使用

    简介 vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应.也就是说,$.ajax能做的事情,vue-resource插件一样也能做到 ...

  8. 游戏开发学习笔记——lua脚本语言——安装、汉化与小测试(解决lua运行代码乱码问题)

    游戏开发学习笔记--lua脚本语言--安装.汉化与小测试 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: Lua 是一种轻量小巧的脚本语言,用 ...

  9. InSAR学习笔记之ISCE 软件安装

    InSAR学习笔记之ISCE 软件安装 ISCE是一款常用的InSAR数据处理软件,2018年更新的版本基于ubuntu18.04系统安装过程简化了很多,本文分享一下安装过程.(之前在ubuntu16 ...

最新文章

  1. 2021年大数据Flink(三十五):​​​​​​​Table与SQL ​​​​​​案例二
  2. 对象序列化 输入输出流概念 InputOutStream OutputStream
  3. 选择排序-直接选择排序
  4. poj 2923(状态压缩dp)
  5. 学Android开发 这19个开发工具助你顺风顺水
  6. 使用Eclipse进行PHP的服务器端调试
  7. android 获取图片主色调
  8. 使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】
  9. 【英语学习】【WOTD】animadversion 释义/词源/示例
  10. nginx 静态文件
  11. linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
  12. CSS表单元素样式设置
  13. 12. 程序扩展性(高级特性)
  14. Unity3D脚本编程——使用C#语言开发跨平台游戏
  15. SketchUp Pro 2021 v21.0.391 草图大师安装说明
  16. 学习纹理格式(DXGI_FORMAT 和 VkFormat)
  17. 长链接转化成短链接java,长链接转短链接(短网址)
  18. qpython3使用手册图_qpython 图
  19. Java实现 蓝桥杯VIP 算法提高 P0404
  20. java-IO流(2)-字节流和字符流的介绍

热门文章

  1. java 的新浪oauth_新浪微博OAuth授权的Java实现
  2. 百度网盘视频倍速播放
  3. NTC热敏电阻计算温度之C代码
  4. GT工具中用到的英文词解释
  5. 计算机本科论文胶装封面颜色,毕业论文装订、存档详解
  6. “对不起,我们公司只招35岁以上的...”
  7. [BJOI2006]狼抓兔子
  8. Net Core WebApi自定义拦截特性简单实现
  9. Hibernate 注解 实现一对多
  10. Verilog实现移位寄存器