Library not found ERROR

Hello, I have been tinkering with the 1.8-inch TFT display (ST7735) with an ESP32. I bought it from Robocraze and it has labeling that it is ESP32 WROOM-32, At first IDK what to choose so I just chose ESP32 WROOM DA MODULE, but it is continuously telling that my libraries or not found, can you please help me (I am kind of new to it) (I am only 12 years old)
(C:\Users\reyan\AppData\Local\Temp.arduinoIDE-unsaved20241130-8536-1ealhdu.4mmy\graphicstest\graphicstest.ino:35:10: fatal error: Adafruit_GFX.h: No such file or directory
35 | #include <Adafruit_GFX.h> // Core graphics library
| ^~~~~~~~~~~~~~~~
Compilation terminated.
exit status 1

Compilation error: Adafruit_GFX.h: No such file or directory)

Here is my code

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>

#if defined(ARDUINO_FEATHER_ESP32) // Feather Huzzah32
  #define TFT_CS         14
  #define TFT_RST        15
  #define TFT_DC         32

#elif defined(ESP8266)
  #define TFT_CS         4
  #define TFT_RST        16                                            
  #define TFT_DC         5

#else
  //you can use any 2 or 3 pins for the breakout board.
  // These pins will also work for the 1.8" TFT shield.
  #define TFT_CS        10
  #define TFT_RST        9 // Or set to -1 and connect to Arduino RESET pin
  #define TFT_DC         8
#endif

// OPTION 1 (recommended) is to use the HARDWARE SPI pins, which are unique
// to each board and not reassignable. For Arduino Uno: MOSI = pin 11 and
// SCLK = pin 13. This is the fastest mode of operation and is required if
// using the breakout board's microSD card.

// For 1.44" and 1.8" TFT with ST7735 use:
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

// For 1.14", 1.3", 1.54", 1.69", and 2.0" TFT with ST7789:
//Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);


// OPTION 2 lets you interface the display using ANY TWO or THREE PINS,
// tradeoff is that performance is not as fast as hardware SPI above.
//#define TFT_MOSI 11  // Data out
//#define TFT_SCLK 13  // Clock out

// For ST7735-based displays, we will use this call
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

// OR For the ST7789-based displays, we will use this call
//Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);


float p = 3.1415926;

void setup(void) {
  Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));

  // Use this initializer if using a 1.8" TFT screen:
  tft.initR(INITR_BLACKTAB);      // Init ST7735S chip, black tab

  // OR use this initializer if using a 1.8" TFT screen with offset such as WaveShare:
  // tft.initR(INITR_GREENTAB);      // Init ST7735S chip, green tab

  // OR use this initializer (uncomment) if using a 1.44" TFT:
  //tft.initR(INITR_144GREENTAB); // Init ST7735R chip, green tab

  // OR use this initializer (uncomment) if using a 0.96" 160x80 TFT:
  //tft.initR(INITR_MINI160x80);  // Init ST7735S mini display
  // OR use this initializer (uncomment) if using a 0.96" 160x80 TFT with 
  // plug-in FPC (if you see the display is inverted!)
  //tft.initR(INITR_MINI160x80_PLUGIN);  // Init ST7735S mini display

  // OR use this initializer (uncomment) if using a 1.3" or 1.54" 240x240 TFT:
  //tft.init(240, 240);           // Init ST7789 240x240

  // OR use this initializer (uncomment) if using a 1.69" 280x240 TFT:
  //tft.init(240, 280);           // Init ST7789 280x240

  // OR use this initializer (uncomment) if using a 2.0" 320x240 TFT:
  //tft.init(240, 320);           // Init ST7789 320x240

  // OR use this initializer (uncomment) if using a 1.14" 240x135 TFT:
  //tft.init(135, 240);           // Init ST7789 240x135
  
  // OR use this initializer (uncomment) if using a 1.47" 172x320 TFT:
  //tft.init(172, 320);           // Init ST7789 172x320

  // SPI speed defaults to SPI_DEFAULT_FREQ defined in the library, you can override it here
  // Note that speed allowable depends on chip and quality of wiring, if you go too fast, you
  // may end up with a black screen some times, or all the time.
  //tft.setSPISpeed(40000000);

  Serial.println(F("Initialized"));

  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  time = millis() - time;

  Serial.println(time, DEC);
  delay(500);

  // large block of text
  tft.fillScreen(ST77XX_BLACK);
  testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST77XX_WHITE);
  delay(1000);

  // tft print function!
  tftPrintTest();
  delay(4000);

  // a single pixel
  tft.drawPixel(tft.width()/2, tft.height()/2, ST77XX_GREEN);
  delay(500);

  // line draw test
  testlines(ST77XX_YELLOW);
  delay(500);

  // optimized lines
  testfastlines(ST77XX_RED, ST77XX_BLUE);
  delay(500);

  testdrawrects(ST77XX_GREEN);
  delay(500);

  testfillrects(ST77XX_YELLOW, ST77XX_MAGENTA);
  delay(500);

  tft.fillScreen(ST77XX_BLACK);
  testfillcircles(10, ST77XX_BLUE);
  testdrawcircles(10, ST77XX_WHITE);
  delay(500);

  testroundrects();
  delay(500);

  testtriangles();
  delay(500);

  mediabuttons();
  delay(500);

  Serial.println("done");
  delay(1000);
}

void loop() {
  tft.invertDisplay(true);
  delay(500);
  tft.invertDisplay(false);
  delay(500);
}

void testlines(uint16_t color) {
  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(0, 0, x, tft.height()-1, color);
    delay(0);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(0, 0, tft.width()-1, y, color);
    delay(0);
  }

  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);
    delay(0);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(tft.width()-1, 0, 0, y, color);
    delay(0);
  }

  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(0, tft.height()-1, x, 0, color);
    delay(0);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);
    delay(0);
  }

  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);
    delay(0);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);
    delay(0);
  }
}

void testdrawtext(char *text, uint16_t color) {
  tft.setCursor(0, 0);
  tft.setTextColor(color);
  tft.setTextWrap(true);
  tft.print(text);
}

void testfastlines(uint16_t color1, uint16_t color2) {
  tft.fillScreen(ST77XX_BLACK);
  for (int16_t y=0; y < tft.height(); y+=5) {
    tft.drawFastHLine(0, y, tft.width(), color1);
  }
  for (int16_t x=0; x < tft.width(); x+=5) {
    tft.drawFastVLine(x, 0, tft.height(), color2);
  }
}

void testdrawrects(uint16_t color) {
  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);
  }
}

void testfillrects(uint16_t color1, uint16_t color2) {
  tft.fillScreen(ST77XX_BLACK);
  for (int16_t x=tft.width()-1; x > 6; x-=6) {
    tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);
    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);
  }
}

void testfillcircles(uint8_t radius, uint16_t color) {
  for (int16_t x=radius; x < tft.width(); x+=radius*2) {
    for (int16_t y=radius; y < tft.height(); y+=radius*2) {
      tft.fillCircle(x, y, radius, color);
    }
  }
}

void testdrawcircles(uint8_t radius, uint16_t color) {
  for (int16_t x=0; x < tft.width()+radius; x+=radius*2) {
    for (int16_t y=0; y < tft.height()+radius; y+=radius*2) {
      tft.drawCircle(x, y, radius, color);
    }
  }
}

void testtriangles() {
  tft.fillScreen(ST77XX_BLACK);
  uint16_t color = 0xF800;
  int t;
  int w = tft.width()/2;
  int x = tft.height()-1;
  int y = 0;
  int z = tft.width();
  for(t = 0 ; t <= 15; t++) {
    tft.drawTriangle(w, y, y, x, z, x, color);
    x-=4;
    y+=4;
    z-=4;
    color+=100;
  }
}

void testroundrects() {
  tft.fillScreen(ST77XX_BLACK);
  uint16_t color = 100;
  int i;
  int t;
  for(t = 0 ; t <= 4; t+=1) {
    int x = 0;
    int y = 0;
    int w = tft.width()-2;
    int h = tft.height()-2;
    for(i = 0 ; i <= 16; i+=1) {
      tft.drawRoundRect(x, y, w, h, 5, color);
      x+=2;
      y+=3;
      w-=4;
      h-=6;
      color+=1100;
    }
    color+=100;
  }
}

void tftPrintTest() {
  tft.setTextWrap(false);
  tft.fillScreen(ST77XX_BLACK);
  tft.setCursor(0, 30);
  tft.setTextColor(ST77XX_RED);
  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.setTextColor(ST77XX_YELLOW);
  tft.setTextSize(2);
  tft.println("Hello World!");
  tft.setTextColor(ST77XX_GREEN);
  tft.setTextSize(3);
  tft.println("Hello World!");
  tft.setTextColor(ST77XX_BLUE);
  tft.setTextSize(4);
  tft.print(1234.567);
  delay(1500);
  tft.setCursor(0, 0);
  tft.fillScreen(ST77XX_BLACK);
  tft.setTextColor(ST77XX_WHITE);
  tft.setTextSize(0);
  tft.println("Hello World!");
  tft.setTextSize(1);
  tft.setTextColor(ST77XX_GREEN);
  tft.print(p, 6);
  tft.println(" Want pi?");
  tft.println(" ");
  tft.print(8675309, HEX); // print 8,675,309 out in HEX!
  tft.println(" Print HEX!");
  tft.println(" ");
  tft.setTextColor(ST77XX_WHITE);
  tft.println("Sketch has been");
  tft.println("running for: ");
  tft.setTextColor(ST77XX_MAGENTA);
  tft.print(millis() / 1000);
  tft.setTextColor(ST77XX_WHITE);
  tft.print(" seconds.");
}

void mediabuttons() {
  // play
  tft.fillScreen(ST77XX_BLACK);
  tft.fillRoundRect(25, 10, 78, 60, 8, ST77XX_WHITE);
  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_RED);
  delay(500);
  // pause
  tft.fillRoundRect(25, 90, 78, 60, 8, ST77XX_WHITE);
  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_GREEN);
  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_GREEN);
  delay(500);
  // play color
  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_BLUE);
  delay(50);
  // pause color
  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_RED);
  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_RED);
  // play color
  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_GREEN);
}

This was an example and I just edited the pins according to my connection

Welcome to the forum

You started a topic in the Uncategorised category of the forum when its description explicitly tells you not to

Your topic has been moved to a relevant category. Please be careful in future when deciding where to start new topics

Have you installed this library ?
If so, exactly where is it located on your PC ?

1 Like

Hi, @reyansh_r2
Welcome to the forum.

What version IDE are you using?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

1 Like

It was located in document > arduino > libraries

The 2.3.4

Sorry I did not know that

Does your library path have non ASCII characters in it by any chance? If so, you've run into this problem:

And here's a workaround from @ptillisch

What is an ASCII character?
And it happens to all of my libraries after I had reinstalled windows, for some unknow reason (for me)

You didn't have time to even click on the first link and read it. Do so now, and answer your own question.

Thank you
(I am SORRY, I will do it right now)

I just checked but my lib doesn't have anything like that

"was" or "is" ?

What is the sketchbook directory set to under file / preferences in the IDE? Based on the quoted path is should be document > arduino; that is where the IDE will look for the libraries directory.

Is located

Hi @reyansh_r2. I'm going to ask you to provide the full verbose output from a compilation.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Check the box next to "Show verbose output during: ☐ compile" in the "Preferences" dialog.
  3. Click the "OK" button.
    The "Preferences" dialog will close.
  4. Select Sketch > Verify/Compile from the Arduino IDE menus.
  5. Wait for the compilation to fail.
  6. You will see a "Compilation error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  7. Open a forum reply here by clicking the "Reply" button.
  8. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  9. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the compilation output into the code block.
  10. Move the cursor outside of the code block markup before you add any additional text to your reply.
  11. Click the "Reply" button to post the output.

In case the output is longer than the forum software will allow to be added to a post, you can instead save it to a .txt file and then attach that file to a reply here.

Click here for attachment instructions

  1. Open any text editor program.
  2. Paste the copied output into the text editor.
  3. Save the file in .txt format.
  4. Open a forum reply here by clicking the "Reply" button.
  5. Click the "Upload" icon (Upload icon) on the post composer toolbar:

    The "Open" dialog will open.
  6. Select the .txt file you saved from the "Open" dialog.
  7. Click the "Open" button.
    The dialog will close.
  8. Click the "Reply" button to publish the post.

Alternatively, instead of using the "Upload" icon on the post composer toolbar as described in steps (5) - (7) above, you can simply drag and drop the .txt file onto the post composer field to attach it.

It is not compiling? (I don't know why)
Wait one second I will post

Please follow the instructions in post #16.

Ok, but I wanted to ask - would it work if I just reset the PC uninstall arduino IDE and then delete arduino 15 folder?

Here is what I got after that:


FQBN: esp32:esp32:esp32da
Using board 'esp32da' from platform in folder: C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7
Using core 'esp32' from platform in folder: C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7

cmd /c if exist "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\partitions.csv" COPY /y "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\partitions.csv" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\partitions.csv"
cmd /c if not exist "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\partitions.csv" if exist "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32da\\partitions.csv" COPY "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32da\\partitions.csv" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\partitions.csv"
cmd /c if not exist "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\partitions.csv" COPY "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\tools\\partitions\\default.csv" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\partitions.csv"
cmd /c IF EXIST "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\bootloader.bin" ( COPY /y "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\bootloader.bin" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\graphicstest.ino.bootloader.bin" ) ELSE ( IF EXIST "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32da\\bootloader.bin" ( COPY "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\esp32da\\bootloader.bin" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\graphicstest.ino.bootloader.bin" ) ELSE ( "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.6\\esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\graphicstest.ino.bootloader.bin" "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-632e0c2a\\esp32\\bin\\bootloader_qio_80m.elf" ) )
esptool.py v4.6
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
cmd /c if exist "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\build_opt.h" COPY /y "C:\\Users\\reyan\\AppData\\Local\\Temp\\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\\graphicstest\\build_opt.h" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\build_opt.h"
cmd /c if not exist "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\build_opt.h" type nul > "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\build_opt.h"
cmd /c type nul > "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8/file_opts"
cmd /c COPY /y "C:\\Users\\reyan\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-632e0c2a\\esp32\\sdkconfig" "C:\\Users\\reyan\\AppData\\Local\\arduino\\sketches\\F2B211D7A6E904569A5DCDC5BCBCDCB8\\sdkconfig"
        1 file(s) copied.
Detecting libraries used...
C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++ -c @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/defines -IC:\Users\reyan\AppData\Local\Temp\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\graphicstest -iprefix C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/ @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/includes -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/qio_qspi/include -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32 -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\esp32da @C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8/build_opt.h @C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8/file_opts C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8\sketch\graphicstest.ino.cpp -o nul
Alternatives for Adafruit_GFX.h: [Adafruit GFX Library@1.11.11]
ResolveLibrary(Adafruit_GFX.h)
  -> candidates: [Adafruit GFX Library@1.11.11]
C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2302/bin/xtensa-esp32-elf-g++ -c @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/defines -IC:\Users\reyan\AppData\Local\Temp\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\graphicstest -iprefix C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/include/ @C:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/flags/includes -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-632e0c2a\esp32/qio_qspi/include -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\cores\esp32 -IC:\Users\reyan\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\variants\esp32da -IC:\Users\reyan\OneDrive\ドキュメント\Arduino\libraries\Adafruit_GFX_Library @C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8/build_opt.h @C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8/file_opts C:\Users\reyan\AppData\Local\arduino\sketches\F2B211D7A6E904569A5DCDC5BCBCDCB8\sketch\graphicstest.ino.cpp -o nul
C:\Users\reyan\AppData\Local\Temp\.arduinoIDE-unsaved20241131-8936-1attkbv.h8m1k\graphicstest\graphicstest.ino:35:10: fatal error: Adafruit_GFX.h: No such file or directory
   35 | #include <Adafruit_GFX.h>    // Core graphics library
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
Alternatives for Adafruit_GFX.h: [Adafruit GFX Library@1.11.11]
ResolveLibrary(Adafruit_GFX.h)
  -> candidates: [Adafruit GFX Library@1.11.11]
exit status 1

Compilation error: Adafruit_GFX.h: No such file or directory