Upgrading from 8.3.11 to 9.0.0 causes multiple 'xx' was not declared in this scope and 'xxx' does not name a type

Arduino IDE 2.3.1
Board ESP32S3 Dev Module

My code compiles correctly using lvgl v8.3.11
I’ve now upgraded to 9.0.0 and I get multiple ‘xx’ was not declared in this scope and ‘xxx’ does not name a type.
E.g.
Code -
(line 14) lv_disp_draw_buf_t draw_buf;
(line 16) lv_disp_drv_t disp_drv;

Now gives -
C:\Users\Hamish\Documents\Arduino\lvgl-test\LVGL.ino:14:1: error: ‘lv_disp_draw_buf_t’ does not name a type; did you mean ‘lv_draw_buf_t’?

C:\Users\Hamish\Documents\Arduino\lvgl-test\LVGL.ino:16:1: error: ‘lv_disp_drv_t’ does not name a type; did you mean ‘lv_fs_drv_t’?

Yes, the way draw buffers and initializing display drivers works has changed. See the changelog.
Multiple other functions have actually changed in different ways too, but the lv_api_map.h file handles most of these.

Hi Tinus,
Thanks, the changelog was helpful, but the updated LVGL_Arduino example was much more helpful.
But still some issues remain for me.-
“meter” (which I use) has been replaced with “scale”.

When I compile my sketch by commenting out all the error lines, I get lots of errors like -

c:\users\hamish\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-2021r2-patch5-8.4.0\xtensa-esp32s3-elf\sys-include\stdint.h:82: Error: unknown opcode or format name 'typedef'

Hello,

That’s a very strange error, it does not look like it is completely related to LVGL to be quite honest. Looks like it is an issue with how this Arduino project is set up. Have you tried a completely fresh project with just LVGL v9 and some bare bones example? (i.e. a label on the screen).

Hi Tinus,
I agree, very strange, and not an LVGL bug.
It occurs both for my project I’m trying to upgrade, and a simple “Hello World”.
I’m guessing it’s specific to ESP32-S3, and perhaps a stdlib.h or similar.
Not a problem with LVGL 8.3.11