This is a pre-configured Visual Studio project to try LVGL on a Windows PC. The project uses the SDL library which is copied and linked to the project, so you can compile it without any extra dependencies. The 64 bit libraries are used so it will work out-of-the-box on 64-bit systems.
Instructions for cloning, building and running the application are found below.
This project is not for Visual Studio Code, it is for Visual Studio 2017.
This repository contains other, necessary LVGL software repositories as git sub-modules. Those sub-modules are not pulled in with the normal git clone command and they will be needed. There are a couple of techniques to pull in the submodules.
This command will clone the lv_sim_visual_studio_sdl repository and all submodules in a single step.
git clone --recurse-submodules https://github.com/lvgl/lv_sim_visual_studio_sdl.git
If you've already cloned the main repository you can pull in the sub-modules with a second command. Both commands are shown below.
git clone https://github.com/lvgl/lv_sim_visual_studio_sdl.git
cd lv_sim_visual_studio_sdl
git submodule update --init --recursive
Open the lv_sim_visual_studio_sdl.sln
solution file in Visual Studio. Click on the Local windows Debugger button in the top toolbar. The included project will be built and run, launching from a cmd window.
There are a list of possible test applications in the main.c file. Each test or demo is launched via a single function call. By default the lv_demo_widgets
function is the one that runs, but you can comment that one out and choose any of the others to compile and run.
Use these examples to start building your own application test code inside the simulator.
This repository has its sub-module references updated shortly after the release of new, major releases of LittlevGL's core lvgl project. If you need to pull in bug fixes in the sub-modules in between major releases you will have to update the references on your own. If source files are added or removed in the sub-modules then the visual studio project will likely need adjusting. See the commit log for examples of sub-module updates and associated visual studio file changes.