I'm getting the following error when compiling for ESP-WROOM 32:
C:\arduino-1.8.19\arduino-1.8.19\libraries\Adafruit_SH1106-master\Adafruit_SH1106.cpp:29:10: fatal error: avr/pgmspace.h: No such file or directory
29 | #include <avr/pgmspace.h>
| ^~~~~~~~~~~~~~~~
The IDE documentation says that <avr/pgmspace.h> is part of the IDE and doesn't require including a library to have it available. Is there a conflict because the ESP32 is not AVR?
Is there another library for the SH1106 that is recommended for the ESP32?
It is part of the AVR-libC component of the toolchain for platforms like the "Arduino AVR Boards" platform:
It is not completely wrong to say "part of the IDE", since the "Arduino AVR Boards" was bundled with Arduino IDE 1.x, but it definitely isn't correct either.
Arduino does provide a header file which can be added to boards platforms for other architectures as a dummy replacement for the AVR-libC component to allow code that uses that header to compile for the boards of the platform:
However, the ESP32 boards platform doesn't make use of that header file, and so any library that relies on avr/pgmspace.h is not compatible with ESP32 boards.
I haven't used it, so I can't provide a recommendation, but the "Adafruit SH110X" library looks promising.