Unable to get lv_conf.h to include. Arduino IDE, Teensy 4.1

Okay, forgive the minor ranting here, but I am losing my mind.

I have spent the entire day trying to get LVGL to load, with NO success.

I have:
Teensy 4.1
GC9A01 display w/ touchscreen.

I have both of these fully working. I have a display flush callback. I have a full UI designed in Squareline Studio.

But for the life of me I CANNOT get this library to load.

I’m using the Arduino IDE 2.1.1 (latest). I’ve loaded the latest version of LVGL from the Library Manager (8.3.8). I have followed ALL the instructions, moving lv_template_conf to the root of the library folder, renaming it as lv_conf.h, and configuring it properly:


I get the following error:

In file included from c:\users\twyst\documents\arduino\libraries\lvgl\src/misc/lv_log.h:16,
                 from c:\users\twyst\documents\arduino\libraries\lvgl\lvgl.h:25,
                 from c:\Users\twyst\Documents\Arduino\libraries\lvgl\src/lvgl.h:17,
                 from C:\Users\twyst\Documents\Arduino\lvgl_mp3\lvgl_mp3.ino:9:
c:\users\twyst\documents\arduino\libraries\lvgl\src\lv_conf_internal.h:46:120: note: '#pragma message: Possible failure to include lv_conf.h, please read the comment in this file if you get errors'
   46 |         #pragma message("Possible failure to include lv_conf.h, please read the comment in this file if you get errors")
      |                                                                                                                        ^
c:/users/twyst/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\twyst\AppData\Local\Temp\arduino\sketches\526776607CEEDC9BA44770D3A6600E9D\sketch\objs.a(ui.c.o): in function `ui_init':
C:\Users\twyst\Documents\Arduino\lvgl_mp3/ui.c:62: undefined reference to `ui_Screen1_screen_init'
c:/users/twyst/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\twyst\Documents\Arduino\lvgl_mp3/ui.c:63: undefined reference to `ui_Screen2_screen_init'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

#include “lv_conf.h” gives me “fatal error: lv_conf.h: No such file or directory”

I am losing my goddamn mind here, please help.

what version of lvgl are you using?
Did you try LV_LVGL_H_INCLUDE_SIMPLE directive in the compiler?

Well, it works now after slapping my face into my keyboard for the last hour or so. Not entirely sure why.

I switched back to using VSCode, and installed LVGL 8.3.7 from there, and brought all my code over. Maybe it’s the Arduino IDE being stupid. Dunno.

Now I have to sort out touchscreen shenanigans.

Yes, these include files are not always easy to debug