参考链接2: 一步一步分享在Windows QtCreator/Mingw平台编译运行调试LittleVGL
给大家介绍一个非常不错的GUI ---- littlevgl
官网地址: https://littlevgl.com
github地址: https://github.com/littlevgl/
PC模拟演示程序:
git clone https://github.com/littlevgl/pc_simulator.git
cd pc_simulator
git submodule update --init
make
./demo
离线
离线
虽然用MSVC编译有难度, 但是如果使用 mingw编译基本还是没坑的。
下面我使用Ubuntu14.04LTS的mingw,交叉出windows平台的littlevgl:
1. Ubuntu安装mingw 64位编译: sudo apt-get install mingw-w64
2. 下载SDL2源码: https://www.libsdl.org/release/SDL2-2.0.7.tar.gz
解压: tar xvf SDL2-2.0.7.tar.gz
3. 配置: ./configure --prefix=/usr/i686-w64-mingw32 --build=i686-unknown-linux-gnu --host=i686-w64-mingw32
安装: make; make install
4. 下载、更新littlevgl模拟器源码:
git clone https://github.com/littlevgl/pc_simulator.git
cd pc_simulator
git submodule update --init
make
5. 遇到一个链接错误: undefined reference to `WinMain@16'
解决办法参考: I get "Undefined reference to 'WinMain@16'"
Makefile文件添加: -lmingw32 -lSDL2main -lSDL2 -mwindows
6. 再次执行make, 编译成功,拷贝到Windows:
cp /usr/lib/gcc/i686-w64-mingw32/4.8/libgcc_s_sjlj-1.dll /mnt/hgfs/D/pc_simulator/
cp /usr/i686-w64-mingw32/bin/SDL2.dll /mnt/hgfs/D/pc_simulator/
cp demo /mnt/hgfs/D/pc_simulator/demo.exe
合影留念:
离线
int main(int argc, char *argv[])
{
/*LittlevGL init*/
lv_init();monitor_init(); //开启SDL窗口
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
disp_drv.disp_flush = monitor_flush;
disp_drv.disp_fill = monitor_fill;
disp_drv.disp_map = monitor_map;
lv_disp_drv_register(&disp_drv);/*Create a "Hello world!" label*/
lv_obj_t * label = lv_label_create(lv_scr_act(), NULL);
lv_label_set_text(label, "Hello world!WWWMMM");
lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0);/*Handle LitlevGL tasks (tickless mode)*/
while(1) {
lv_tick_inc(5);
lv_task_handler();
usleep(5000);
}return 0;
}
一个非常简单的字符显示程序,字体挺好看,自带抗锯齿效果。
参考: embedded-gui-using-linux-frame-buffer-device-with-littlevgl
离线
楼主QT是在windows还是ubuntu下调试的呢?
能出个教程吗,谢谢
离线
qwert1213131 说:楼主QT是在windows还是ubuntu下调试的呢?
能出个教程吗,谢谢Windows和Ubuntu都可以,
QtCreator和Eclipse都可以单步调试,
视频教程晚些有空我录一个。
非常感谢,主要是用windows开发,以前按照lvgl官网windows环境安装,一直没有成功,
看着QT的开发环境很不错,
等楼主视频了,
离线
lv_conf.h
#define LV_HOR_RES 800
#define LV_VER_RES (480)
#define USE_LV_THEME_ALIEN 1
V3s Linux 4.13-y 跑 littlevgl成功!
参考链接:embedded-gui-using-linux-frame-buffer-device-with-littlevgl
离线
提前感谢晕哥!可以录个制作视频。
离线
很强大啊,昂达的板板不错
离线
请问这个支持旋转吗?
离线
fcode 说:请问这个支持旋转吗?
控件旋转?还是液晶屏转90度?
液晶屏横屏和竖屏切换这种旋转。
离线
离线
提前感谢晕哥!可以录个制作视频。
离线
提前感谢晕哥!可以录个制作视频。
这个可以有?
离线
移植到 vnc/rfb 成功, 在ubuntu上模拟顺利,下一步打算移植到 ESP32上面去,用在公司的产品,不打算开源,但是有问必答。
嵌入式系统不需要有显示屏, 只要有网络,电脑就可以连上这个远程虚拟显示屏,
对用户确实挺有吸引力的。
离线
晕哥 能出个视频教程么 这个gui还是蛮有兴趣的,阿里的物联网os用的就是他
离线
光总已经适配了rtt,等v3s的lcd驱动起来以后贴图片,好的gui,推荐给更多的人知道
离线
gui部分多练练lvgl作者提供的example,很容易就可以造了
离线
https://whycan.cn/files/members/15/QQ20180217202912.png
移植到 vnc/rfb 成功, 在ubuntu上模拟顺利,下一步打算移植到 ESP32上面去,用在公司的产品,不打算开源,但是有问必答。
嵌入式系统不需要有显示屏, 只要有网络,电脑就可以连上这个远程虚拟显示屏,
对用户确实挺有吸引力的。
这个想法很棒
离线
落雁 说:https://whycan.cn/files/members/15/QQ20180217202912.png
移植到 vnc/rfb 成功, 在ubuntu上模拟顺利,下一步打算移植到 ESP32上面去,用在公司的产品,不打算开源,但是有问必答。
嵌入式系统不需要有显示屏, 只要有网络,电脑就可以连上这个远程虚拟显示屏,
对用户确实挺有吸引力的。这个想法很棒
支持,搞定了发个效果看看,学习学习
离线
mark
离线
请问这个旋转缓冲区数据的函数应该怎么写
fcode 说:晕哥 说:控件旋转?还是液晶屏转90度?
液晶屏横屏和竖屏切换这种旋转。
静态旋转容易吧, 写显卡之前,把显示缓冲区的数据通过一个函数, 把数据旋转一次即可。
动态旋转,像安卓那样, 涉及到控件的自适应,这个比较难。
离线
学习了。
离线
@晕哥
晕哥你说到
虽然用MSVC编译有难度, 但是如果使用 mingw编译基本还是没坑的。
下面我使用Ubuntu14.04LTS的mingw,交叉出windows平台的littlevgl:
1. Ubuntu安装mingw 64位编译: sudo apt-get install mingw-w64
===========
我提问
mingw 好像是一个在WINDOWS运行的软件啊啊??
为什么你在 Ubuntu安装mingw 64
离线
@落雁
请教下大佬,有关基于 RFB 的移植。
官方的例子是基于 Linux Framebuffer 的。
我现在通过 VNC 连接远程机器。 远程机器上没有 Framebuffer 设备,无法打开 /dev/fbx 设备。
VNC 是基于 RFB (Remote frame buffer ) 的, 请问这种情况下, 你是如何移植的呢?
麻烦大致说下思路。
多谢了!
离线
@落雁
看了你的另外一个帖子,
https://whycan.com/t_758.html
还没研究。 第一次知道 RFB
是不是就是基于这个的?
离线
突然发现github的littlevgl找不到了,是发生了什么事情么?
就是这个链接https://github.com/littlevgl/
离线
突然发现github的littlevgl找不到了,是发生了什么事情么?
就是这个链接https://github.com/littlevgl/
成立LVGL组织了 https://github.com/lvgl/lvgl
离线
现在用这个: https://github.com/lvgl/lvgl ,最新版本好像是V9.0.0。
离线
有人知道怎么自己开发一个lvgl编辑器吗
离线