移植littlevgl到qt

公众号
欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会。欢迎大家一起来玩呀。

 

最后有下载移植好工程的方法:

1.安装qt,已经安装qt的略过,没有安装过qt的,教程参考如下网文:

Qt下载(多种下载通道+所有版本)

2.安装好qt之后我们需要下载littlevGL的pc模拟器的源码包,下载地址如下:

GitHub - lvgl/lv_sim_eclipse_sdl: PC simulator project for LVGL embedded GUI Library. Recommended on Linux and Mac.

下载后我们会得到这个压缩包,这个是littlevGL使用eclipse  PC模拟器移植好的软件包,我们解压我们会看到如下目录结构

3.我们看到如果要在pc上显示出来我们,必须要显示的驱动库呀,在pc上显示模拟器我们可以使用sdl库,但是这里并没有sdl的库的文件,所以我们必须手动下载sdl的库,下载地址如下:Simple DirectMedia Layer - SDL version 2.0.18 (stable)

下载好sdl后我们解压缩,可以看到文件目录如下结构:

注意:如果你的qt使用的MinGW 是32位的需要选择32位的sdl库,如果MinGW是64位的要选择64位的sdl库,不然链接的时候会出错,链接的时候会出现undefined reference to `SDL_CreateThread',就是sdl的库的不对,说找不到没有定义SDL_CreateThread这个函数,导致链接失败。

5.好了,万事具备,只欠东风了,严格意义来说我们并不是移植,而是在使用qt把eclipse的工程在qt上编译出来,其实对qt熟悉的朋友现在都可以自己手动编译出来了,废话不多说我们开始吧。

5.0.1我们在电脑先建立一个文件夹,我的命名为pc_littlevGL,路径为H:\pc_littlevGL,然后我们打开qt:文件->新建文件或者项目

5.0.2选择Choose…

打开如下图的littlevGL.pro文件删除SOURCES  +=  main.c,保存

打开H:\pc_littlevGL\littlevGL,我们可以看到我们的工程文件littlevGL.pro,删除里面的main.c这个我们不需要

打开我们之前解压的pc_simulator_sdl_eclipse文件夹,按照下面图片,把对应的文件夹和.c文件复制到H:\pc_littlevGL\littlevGL

复制之后的文件如下,(备注下面图片少复制mouse_cursor_icon.c了,把这个也复制过来)

进入H:\pc_littlevGL\littlevGL\lv_drivers\display,删除fbdev.c和fbdev.h这个是和linux的显示驱动相关的,我们这里不需要,可以删除或者不把它添加到编译,我们这里选择删除。

新建SDL2,把sdl的链接库复制过来,记住你的是MinGW 是32位的需要选择32位的sdl库,如果MinGW是64位的要选择64位的sdl库。

因为我的是32位的把SDL2-2.0.10\i686-w64-mingw32里面的所有文件复制到H:\pc_littlevGL\littlevGL\SDL2。

这下我们复制完了我们所有的文件,复制完的目录如图所示。

回到qt,如图在工程文件那里右键,Add Exiting Directory

如图所示把我们所有的.c和.h都加进来,然后点击ok

然后打开littlevGL.pro,添加这句话:
LIBS += -L$$PWD/SDL2/lib/ -lmingw32 -lSDL2main -lSDL2
这句话的意思是告诉编译器指定lib库的路径,$$PWD就是当前工程的路径。

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

lv_drv_conf.h

点击:构建->构建项目 编程成功

错误解决:编译成功,点击调试->开始调试->开始调试,运行的时候出现如下错误

H:\pc_littlevGL\littlevGL\SDL2\bin里面的SDL2.dll,复制到

H:\pc_littlevGL\build-littlevGL-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug。

再次运行:成功会看到如下的画面

关注个人微信公众号获取移植好的qt工程,后台回复littlevGL。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值