Understanding libraries RE C vs C++ vs Arduino vs Cores

Hi.
It's been a long time since I've touched C or C++, and I wouldn't necessarily recognise even a standard C library if I saw one.
I've also literally only just started with arduino about less than a week ago.

Please let me know if I have asked this question in the wrong place.

  • If I'm trying to look up documentation on a library, it seems that it could be important that I understand where that library comes from so that I have an idea as to where to start looking, to find that documentation. In particular this includes very standard libraries that may not even be covered by github very well, much less Arduino documentation.

For example, I'm trying to look up the basics of the library defined via 'time.h'. Now, I guess that this is probably a library that goes all the way back to standard C, but has C++ added to that? overloaded it etc? does #include "time.h" actually load a library version specific to my core that has overloaded it even further?

For example if I search my adruino15 directory, it brings up no less than 9 different 'time.h' files.
Is this an ' it depends' question? (I expect it is)

And also, besides asking in this forum how could I have researched the answer to this question myself? (It seems like this is partly a "how does the ArduinoIDE compiler work?" question)

So as an example, how do I go about understanding time.h? Or put it another way, if I wanted a basic or even comprehensive guide with examples and discussion to allude to nuances I am likely to miss, what would this be a discussion about? C? C++? Arduino? ESP32 core?

Many thanks in advance.

Welcome to the forum

If you turn on verbose reporting for compilation in the IDE Preferences then you can see exactly which library was used. Generally, if there is a board specific version of a library than that version will be used.

Either search for "c++ time.h" - which will bring you here:
https://cplusplus.com/reference/ctime/

or search "Arduino time.h".

When it comes down to the time.h from the ESP32 platform package it is ok if you ask a specific question in this forum.

!!!

you're best bet is to google the library name. Some things are standard to c/c++ such as time.h, try man time.h, others are specific to Arduino, such as accelStepper

That's fantastic everyone. Loads of great advice there, all the way from an exact answer to my question (get the compiler to tell you for definite if you want to know for sure) to more typical rule of thumb approaches.

Hi @orthogonaleety.

Something else you might find useful is that you can use Arduino IDE 2.x to open and view the contents of the file referenced by an #include directive:

  1. Open a sketch that contains an #include directive for a file you are interested in learning about.
    You can also just create a simple sketch if you like:
    #include <time.h>
    void setup() {}
    void loop() {}
    
  2. Select the applicable board from Arduino IDE's Tools > Board menu.
    :warning: In some cases, the specific file that will be used by the compiler can be different depending on which board you are compiling for, so the information you gain by this procedure might be specific to the board you select.
  3. Select Sketch > Verify/Compile from the Arduino IDE menus.
    Alternatively, you can click the "Verify/Compile" button on the Arduino IDE toolbar.
  4. Wait for the compilation to finish.
  5. Right-click (Control-click for macOS users) on the header filename in the #include directive (in this example, time.h).
    A context menu will open.
  6. Select "Go to Definition" from the context menu.
  7. The header file will open in an editor tab in Arduino IDE.

You might also be interested to learn the path of the file on your hard drive, either to get insight into where it comes from, or if you wanted to also examine the associated files. You can find the path by hovering the mouse pointer over the Arduino IDE editor tab. After a second, a tooltip will appear that shows the path of the file on your hard drive.


:red_exclamation_mark: The file may be under a folder that is hidden by default by your operating system.


When you are finished looking at the file in the Arduino IDE editor, you can click the X icon on the editor tab to close it.

You might find this technical documentation of interest:

https://arduino.github.io/arduino-cli/latest/sketch-build-process/

Ptillisch that's fantastic thanks.
Your context hints better target my problem for my expertise level. The verbose compiler logs require too much inference and expertise, they may imply which actual libraries are being used, but there is no explicit reference in them to "time.h" for example.
The post compile context hints for includes however are precisely what I am after.
I'm guessing this sort of feature is maybe common to some IDEs and perhaps most would not need to ask.
Many thanks once again all.

Please turn on verbose reporting and post the output when compiling a sketch that uses the time library. To make it easy to read please use code tags when you post it

Hi Bob

I think the problem is precompilation/caching . Unfortunately there doesn't seem to be a way to force re-compilation? :expressionless_face:
, and I now see the problem with phillisch approach is that the trail just goes cold after the initial include, its not easy to see what is occurring with any #include_next 's

FQBN: arduino:esp32:nano_nora
Using board 'nano_nora' from platform in folder: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5
Using core 'esp32' from platform in folder: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5

cmd /c if exist "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\partitions.csv" COPY /y "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\partitions.csv" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\partitions.csv"
cmd /c if not exist "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\partitions.csv" if exist "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\variants\\arduino_nano_nora\\partitions.csv" COPY "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\variants\\arduino_nano_nora\\partitions.csv" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\partitions.csv"
cmd /c if not exist "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\partitions.csv" COPY "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\tools\\partitions\\app3M_fat9M_fact512k_16MB.csv" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\partitions.csv"
cmd /c IF EXIST "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\bootloader.bin" ( COPY /y "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\bootloader.bin" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\MyExSimpleTime.ino.bootloader.bin" ) ELSE ( IF EXIST "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\variants\\arduino_nano_nora\\bootloader.bin" ( COPY "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\variants\\arduino_nano_nora\\bootloader.bin" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\MyExSimpleTime.ino.bootloader.bin" ) ELSE ( "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1\\esptool.exe" --chip esp32s3 elf2image --flash_mode dio --flash_freq 80m --flash_size 16MB -o "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\MyExSimpleTime.ino.bootloader.bin" "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\tools\\sdk\\esp32s3\\bin\\bootloader_qio_80m.elf" ) )
esptool.py v4.5.1
Creating esp32s3 image...
Merged 1 ELF section
Successfully created esp32s3 image.
cmd /c if exist "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\build_opt.h" COPY /y "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime\\build_opt.h" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\build_opt.h"
cmd /c if not exist "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\build_opt.h" type nul > "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\build_opt.h"
cmd /c type nul > "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts"
Detecting libraries used...
C:\Users\redac\AppData\Local\Arduino15\packages\esp32\tools\s3-gcc\2021r2-p5/bin/xtensa-esp32s3-elf-g++ -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE -DIDF_VER="v4.4.7-dirty" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -iprefix C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/include/ -iwithprefixbefore newlib/platform_include -iwithprefixbefore freertos/include -iwithprefixbefore freertos/include/esp_additions/freertos -iwithprefixbefore freertos/port/xtensa/include -iwithprefixbefore freertos/include/esp_additions -iwithprefixbefore esp_hw_support/include -iwithprefixbefore esp_hw_support/include/soc -iwithprefixbefore esp_hw_support/include/soc/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3/private_include -iwithprefixbefore heap/include -iwithprefixbefore log/include -iwithprefixbefore lwip/include/apps -iwithprefixbefore lwip/include/apps/sntp -iwithprefixbefore lwip/lwip/src/include -iwithprefixbefore lwip/port/esp32/include -iwithprefixbefore lwip/port/esp32/include/arch -iwithprefixbefore soc/include -iwithprefixbefore soc/esp32s3 -iwithprefixbefore soc/esp32s3/include -iwithprefixbefore hal/esp32s3/include -iwithprefixbefore hal/include -iwithprefixbefore hal/platform_port/include -iwithprefixbefore esp_rom/include -iwithprefixbefore esp_rom/include/esp32s3 -iwithprefixbefore esp_rom/esp32s3 -iwithprefixbefore esp_common/include -iwithprefixbefore esp_system/include -iwithprefixbefore esp_system/port/soc -iwithprefixbefore esp_system/port/public_compat -iwithprefixbefore xtensa/include -iwithprefixbefore xtensa/esp32s3/include -iwithprefixbefore driver/include -iwithprefixbefore driver/esp32s3/include -iwithprefixbefore esp_pm/include -iwithprefixbefore esp_ringbuf/include -iwithprefixbefore efuse/include -iwithprefixbefore efuse/esp32s3/include -iwithprefixbefore vfs/include -iwithprefixbefore esp_wifi/include -iwithprefixbefore esp_event/include -iwithprefixbefore esp_netif/include -iwithprefixbefore esp_eth/include -iwithprefixbefore tcpip_adapter/include -iwithprefixbefore esp_phy/include -iwithprefixbefore esp_phy/esp32s3/include -iwithprefixbefore esp_ipc/include -iwithprefixbefore app_trace/include -iwithprefixbefore esp_timer/include -iwithprefixbefore mbedtls/port/include -iwithprefixbefore mbedtls/mbedtls/include -iwithprefixbefore mbedtls/esp_crt_bundle/include -iwithprefixbefore app_update/include -iwithprefixbefore spi_flash/include -iwithprefixbefore bootloader_support/include -iwithprefixbefore nvs_flash/include -iwithprefixbefore pthread/include -iwithprefixbefore esp_gdbstub/include -iwithprefixbefore esp_gdbstub/xtensa -iwithprefixbefore esp_gdbstub/esp32s3 -iwithprefixbefore espcoredump/include -iwithprefixbefore espcoredump/include/port/xtensa -iwithprefixbefore wpa_supplicant/include -iwithprefixbefore wpa_supplicant/port/include -iwithprefixbefore wpa_supplicant/esp_supplicant/include -iwithprefixbefore ieee802154/include -iwithprefixbefore console -iwithprefixbefore asio/asio/asio/include -iwithprefixbefore asio/port/include -iwithprefixbefore bt/common/osi/include -iwithprefixbefore bt/include/esp32c3/include -iwithprefixbefore bt/common/api/include/api -iwithprefixbefore bt/common/btc/profile/esp/blufi/include -iwithprefixbefore bt/common/btc/profile/esp/include -iwithprefixbefore bt/host/bluedroid/api/include/api -iwithprefixbefore bt/esp_ble_mesh/mesh_common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_common/tinycrypt/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core -iwithprefixbefore bt/esp_ble_mesh/mesh_core/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core/storage -iwithprefixbefore bt/esp_ble_mesh/btc/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/client/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/server/include -iwithprefixbefore bt/esp_ble_mesh/api/core/include -iwithprefixbefore bt/esp_ble_mesh/api/models/include -iwithprefixbefore bt/esp_ble_mesh/api -iwithprefixbefore cbor/port/include -iwithprefixbefore unity/include -iwithprefixbefore unity/unity/src -iwithprefixbefore cmock/CMock/src -iwithprefixbefore coap/port/include -iwithprefixbefore coap/libcoap/include -iwithprefixbefore nghttp/port/include -iwithprefixbefore nghttp/nghttp2/lib/includes -iwithprefixbefore esp-tls -iwithprefixbefore esp-tls/esp-tls-crypto -iwithprefixbefore esp_adc_cal/include -iwithprefixbefore esp_hid/include -iwithprefixbefore tcp_transport/include -iwithprefixbefore esp_http_client/include -iwithprefixbefore esp_http_server/include -iwithprefixbefore esp_https_ota/include -iwithprefixbefore esp_https_server/include -iwithprefixbefore esp_lcd/include -iwithprefixbefore esp_lcd/interface -iwithprefixbefore protobuf-c/protobuf-c -iwithprefixbefore protocomm/include/common -iwithprefixbefore protocomm/include/security -iwithprefixbefore protocomm/include/transports -iwithprefixbefore mdns/include -iwithprefixbefore esp_local_ctrl/include -iwithprefixbefore sdmmc/include -iwithprefixbefore esp_serial_slave_link/include -iwithprefixbefore esp_websocket_client/include -iwithprefixbefore expat/expat/expat/lib -iwithprefixbefore expat/port/include -iwithprefixbefore wear_levelling/include -iwithprefixbefore fatfs/diskio -iwithprefixbefore fatfs/vfs -iwithprefixbefore fatfs/src -iwithprefixbefore freemodbus/freemodbus/common/include -iwithprefixbefore idf_test/include -iwithprefixbefore idf_test/include/esp32s3 -iwithprefixbefore jsmn/include -iwithprefixbefore json/cJSON -iwithprefixbefore libsodium/libsodium/src/libsodium/include -iwithprefixbefore libsodium/port_include -iwithprefixbefore mqtt/esp-mqtt/include -iwithprefixbefore openssl/include -iwithprefixbefore perfmon/include -iwithprefixbefore spiffs/include -iwithprefixbefore usb/include -iwithprefixbefore ulp/include -iwithprefixbefore wifi_provisioning/include -iwithprefixbefore rmaker_common/include -iwithprefixbefore esp_diagnostics/include -iwithprefixbefore rtc_store/include -iwithprefixbefore esp_insights/include -iwithprefixbefore json_parser/upstream/include -iwithprefixbefore json_parser/upstream -iwithprefixbefore json_generator/upstream -iwithprefixbefore esp_schedule/include -iwithprefixbefore espressif__esp_secure_cert_mgr/include -iwithprefixbefore esp_rainmaker/include -iwithprefixbefore gpio_button/button/include -iwithprefixbefore qrcode/include -iwithprefixbefore ws2812_led -iwithprefixbefore freertos/include/freertos -iwithprefixbefore arduino_tinyusb/tinyusb/src -iwithprefixbefore arduino_tinyusb/include -iwithprefixbefore esp_littlefs/include -iwithprefixbefore esp-dl/include -iwithprefixbefore esp-dl/include/tool -iwithprefixbefore esp-dl/include/typedef -iwithprefixbefore esp-dl/include/image -iwithprefixbefore esp-dl/include/math -iwithprefixbefore esp-dl/include/nn -iwithprefixbefore esp-dl/include/layer -iwithprefixbefore esp-dl/include/detect -iwithprefixbefore esp-dl/include/model_zoo -iwithprefixbefore esp32-camera/driver/include -iwithprefixbefore esp32-camera/conversions/include -iwithprefixbefore espressif__esp-dsp/modules/dotprod/include -iwithprefixbefore espressif__esp-dsp/modules/support/include -iwithprefixbefore espressif__esp-dsp/modules/support/mem/include -iwithprefixbefore espressif__esp-dsp/modules/windows/include -iwithprefixbefore espressif__esp-dsp/modules/windows/hann/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_harris/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/flat_top/include -iwithprefixbefore espressif__esp-dsp/modules/iir/include -iwithprefixbefore espressif__esp-dsp/modules/fir/include -iwithprefixbefore espressif__esp-dsp/modules/math/include -iwithprefixbefore espressif__esp-dsp/modules/math/add/include -iwithprefixbefore espressif__esp-dsp/modules/math/sub/include -iwithprefixbefore espressif__esp-dsp/modules/math/mul/include -iwithprefixbefore espressif__esp-dsp/modules/math/addc/include -iwithprefixbefore espressif__esp-dsp/modules/math/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/math/sqrt/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/add/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/addc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/sub/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/include -iwithprefixbefore espressif__esp-dsp/modules/fft/include -iwithprefixbefore espressif__esp-dsp/modules/dct/include -iwithprefixbefore espressif__esp-dsp/modules/conv/include -iwithprefixbefore espressif__esp-dsp/modules/common/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/test/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf_imu13states/include -iwithprefixbefore fb_gfx/include -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/qio_opi/include -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -c -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_NANO_ESP32 -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="NANO_ESP32" -DARDUINO_VARIANT="arduino_nano_nora" -DARDUINO_PARTITION_app3M_fat9M_fact512k_16MB -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PIN_REMAP -DBOARD_HAS_PSRAM -DUSB_MANUFACTURER="Arduino" -DUSB_PRODUCT="Nano ESP32" -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/build_opt.h @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\cores\esp32 -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\variants\arduino_nano_nora C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\sketch\MyExSimpleTime.ino.cpp -o nul
Alternatives for WiFi.h: [WiFi@2.0.0]
ResolveLibrary(WiFi.h)
  -> candidates: [WiFi@2.0.0]
C:\Users\redac\AppData\Local\Arduino15\packages\esp32\tools\s3-gcc\2021r2-p5/bin/xtensa-esp32s3-elf-g++ -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE -DIDF_VER="v4.4.7-dirty" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -iprefix C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/include/ -iwithprefixbefore newlib/platform_include -iwithprefixbefore freertos/include -iwithprefixbefore freertos/include/esp_additions/freertos -iwithprefixbefore freertos/port/xtensa/include -iwithprefixbefore freertos/include/esp_additions -iwithprefixbefore esp_hw_support/include -iwithprefixbefore esp_hw_support/include/soc -iwithprefixbefore esp_hw_support/include/soc/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3/private_include -iwithprefixbefore heap/include -iwithprefixbefore log/include -iwithprefixbefore lwip/include/apps -iwithprefixbefore lwip/include/apps/sntp -iwithprefixbefore lwip/lwip/src/include -iwithprefixbefore lwip/port/esp32/include -iwithprefixbefore lwip/port/esp32/include/arch -iwithprefixbefore soc/include -iwithprefixbefore soc/esp32s3 -iwithprefixbefore soc/esp32s3/include -iwithprefixbefore hal/esp32s3/include -iwithprefixbefore hal/include -iwithprefixbefore hal/platform_port/include -iwithprefixbefore esp_rom/include -iwithprefixbefore esp_rom/include/esp32s3 -iwithprefixbefore esp_rom/esp32s3 -iwithprefixbefore esp_common/include -iwithprefixbefore esp_system/include -iwithprefixbefore esp_system/port/soc -iwithprefixbefore esp_system/port/public_compat -iwithprefixbefore xtensa/include -iwithprefixbefore xtensa/esp32s3/include -iwithprefixbefore driver/include -iwithprefixbefore driver/esp32s3/include -iwithprefixbefore esp_pm/include -iwithprefixbefore esp_ringbuf/include -iwithprefixbefore efuse/include -iwithprefixbefore efuse/esp32s3/include -iwithprefixbefore vfs/include -iwithprefixbefore esp_wifi/include -iwithprefixbefore esp_event/include -iwithprefixbefore esp_netif/include -iwithprefixbefore esp_eth/include -iwithprefixbefore tcpip_adapter/include -iwithprefixbefore esp_phy/include -iwithprefixbefore esp_phy/esp32s3/include -iwithprefixbefore esp_ipc/include -iwithprefixbefore app_trace/include -iwithprefixbefore esp_timer/include -iwithprefixbefore mbedtls/port/include -iwithprefixbefore mbedtls/mbedtls/include -iwithprefixbefore mbedtls/esp_crt_bundle/include -iwithprefixbefore app_update/include -iwithprefixbefore spi_flash/include -iwithprefixbefore bootloader_support/include -iwithprefixbefore nvs_flash/include -iwithprefixbefore pthread/include -iwithprefixbefore esp_gdbstub/include -iwithprefixbefore esp_gdbstub/xtensa -iwithprefixbefore esp_gdbstub/esp32s3 -iwithprefixbefore espcoredump/include -iwithprefixbefore espcoredump/include/port/xtensa -iwithprefixbefore wpa_supplicant/include -iwithprefixbefore wpa_supplicant/port/include -iwithprefixbefore wpa_supplicant/esp_supplicant/include -iwithprefixbefore ieee802154/include -iwithprefixbefore console -iwithprefixbefore asio/asio/asio/include -iwithprefixbefore asio/port/include -iwithprefixbefore bt/common/osi/include -iwithprefixbefore bt/include/esp32c3/include -iwithprefixbefore bt/common/api/include/api -iwithprefixbefore bt/common/btc/profile/esp/blufi/include -iwithprefixbefore bt/common/btc/profile/esp/include -iwithprefixbefore bt/host/bluedroid/api/include/api -iwithprefixbefore bt/esp_ble_mesh/mesh_common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_common/tinycrypt/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core -iwithprefixbefore bt/esp_ble_mesh/mesh_core/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core/storage -iwithprefixbefore bt/esp_ble_mesh/btc/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/client/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/server/include -iwithprefixbefore bt/esp_ble_mesh/api/core/include -iwithprefixbefore bt/esp_ble_mesh/api/models/include -iwithprefixbefore bt/esp_ble_mesh/api -iwithprefixbefore cbor/port/include -iwithprefixbefore unity/include -iwithprefixbefore unity/unity/src -iwithprefixbefore cmock/CMock/src -iwithprefixbefore coap/port/include -iwithprefixbefore coap/libcoap/include -iwithprefixbefore nghttp/port/include -iwithprefixbefore nghttp/nghttp2/lib/includes -iwithprefixbefore esp-tls -iwithprefixbefore esp-tls/esp-tls-crypto -iwithprefixbefore esp_adc_cal/include -iwithprefixbefore esp_hid/include -iwithprefixbefore tcp_transport/include -iwithprefixbefore esp_http_client/include -iwithprefixbefore esp_http_server/include -iwithprefixbefore esp_https_ota/include -iwithprefixbefore esp_https_server/include -iwithprefixbefore esp_lcd/include -iwithprefixbefore esp_lcd/interface -iwithprefixbefore protobuf-c/protobuf-c -iwithprefixbefore protocomm/include/common -iwithprefixbefore protocomm/include/security -iwithprefixbefore protocomm/include/transports -iwithprefixbefore mdns/include -iwithprefixbefore esp_local_ctrl/include -iwithprefixbefore sdmmc/include -iwithprefixbefore esp_serial_slave_link/include -iwithprefixbefore esp_websocket_client/include -iwithprefixbefore expat/expat/expat/lib -iwithprefixbefore expat/port/include -iwithprefixbefore wear_levelling/include -iwithprefixbefore fatfs/diskio -iwithprefixbefore fatfs/vfs -iwithprefixbefore fatfs/src -iwithprefixbefore freemodbus/freemodbus/common/include -iwithprefixbefore idf_test/include -iwithprefixbefore idf_test/include/esp32s3 -iwithprefixbefore jsmn/include -iwithprefixbefore json/cJSON -iwithprefixbefore libsodium/libsodium/src/libsodium/include -iwithprefixbefore libsodium/port_include -iwithprefixbefore mqtt/esp-mqtt/include -iwithprefixbefore openssl/include -iwithprefixbefore perfmon/include -iwithprefixbefore spiffs/include -iwithprefixbefore usb/include -iwithprefixbefore ulp/include -iwithprefixbefore wifi_provisioning/include -iwithprefixbefore rmaker_common/include -iwithprefixbefore esp_diagnostics/include -iwithprefixbefore rtc_store/include -iwithprefixbefore esp_insights/include -iwithprefixbefore json_parser/upstream/include -iwithprefixbefore json_parser/upstream -iwithprefixbefore json_generator/upstream -iwithprefixbefore esp_schedule/include -iwithprefixbefore espressif__esp_secure_cert_mgr/include -iwithprefixbefore esp_rainmaker/include -iwithprefixbefore gpio_button/button/include -iwithprefixbefore qrcode/include -iwithprefixbefore ws2812_led -iwithprefixbefore freertos/include/freertos -iwithprefixbefore arduino_tinyusb/tinyusb/src -iwithprefixbefore arduino_tinyusb/include -iwithprefixbefore esp_littlefs/include -iwithprefixbefore esp-dl/include -iwithprefixbefore esp-dl/include/tool -iwithprefixbefore esp-dl/include/typedef -iwithprefixbefore esp-dl/include/image -iwithprefixbefore esp-dl/include/math -iwithprefixbefore esp-dl/include/nn -iwithprefixbefore esp-dl/include/layer -iwithprefixbefore esp-dl/include/detect -iwithprefixbefore esp-dl/include/model_zoo -iwithprefixbefore esp32-camera/driver/include -iwithprefixbefore esp32-camera/conversions/include -iwithprefixbefore espressif__esp-dsp/modules/dotprod/include -iwithprefixbefore espressif__esp-dsp/modules/support/include -iwithprefixbefore espressif__esp-dsp/modules/support/mem/include -iwithprefixbefore espressif__esp-dsp/modules/windows/include -iwithprefixbefore espressif__esp-dsp/modules/windows/hann/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_harris/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/flat_top/include -iwithprefixbefore espressif__esp-dsp/modules/iir/include -iwithprefixbefore espressif__esp-dsp/modules/fir/include -iwithprefixbefore espressif__esp-dsp/modules/math/include -iwithprefixbefore espressif__esp-dsp/modules/math/add/include -iwithprefixbefore espressif__esp-dsp/modules/math/sub/include -iwithprefixbefore espressif__esp-dsp/modules/math/mul/include -iwithprefixbefore espressif__esp-dsp/modules/math/addc/include -iwithprefixbefore espressif__esp-dsp/modules/math/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/math/sqrt/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/add/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/addc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/sub/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/include -iwithprefixbefore espressif__esp-dsp/modules/fft/include -iwithprefixbefore espressif__esp-dsp/modules/dct/include -iwithprefixbefore espressif__esp-dsp/modules/conv/include -iwithprefixbefore espressif__esp-dsp/modules/common/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/test/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf_imu13states/include -iwithprefixbefore fb_gfx/include -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/qio_opi/include -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -c -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_NANO_ESP32 -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="NANO_ESP32" -DARDUINO_VARIANT="arduino_nano_nora" -DARDUINO_PARTITION_app3M_fat9M_fact512k_16MB -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PIN_REMAP -DBOARD_HAS_PSRAM -DUSB_MANUFACTURER="Arduino" -DUSB_PRODUCT="Nano ESP32" -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/build_opt.h @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\cores\esp32 -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\variants\arduino_nano_nora -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\sketch\MyExSimpleTime.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFi.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiAP.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiClient.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiGeneric.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiMulti.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiSTA.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiScan.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiServer.cpp
Using cached library dependencies for file: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src\WiFiUdp.cpp
Generating function prototypes...
C:\Users\redac\AppData\Local\Arduino15\packages\esp32\tools\s3-gcc\2021r2-p5/bin/xtensa-esp32s3-elf-g++ -DHAVE_CONFIG_H -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE -DIDF_VER="v4.4.7-dirty" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -iprefix C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/include/ -iwithprefixbefore newlib/platform_include -iwithprefixbefore freertos/include -iwithprefixbefore freertos/include/esp_additions/freertos -iwithprefixbefore freertos/port/xtensa/include -iwithprefixbefore freertos/include/esp_additions -iwithprefixbefore esp_hw_support/include -iwithprefixbefore esp_hw_support/include/soc -iwithprefixbefore esp_hw_support/include/soc/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3/private_include -iwithprefixbefore heap/include -iwithprefixbefore log/include -iwithprefixbefore lwip/include/apps -iwithprefixbefore lwip/include/apps/sntp -iwithprefixbefore lwip/lwip/src/include -iwithprefixbefore lwip/port/esp32/include -iwithprefixbefore lwip/port/esp32/include/arch -iwithprefixbefore soc/include -iwithprefixbefore soc/esp32s3 -iwithprefixbefore soc/esp32s3/include -iwithprefixbefore hal/esp32s3/include -iwithprefixbefore hal/include -iwithprefixbefore hal/platform_port/include -iwithprefixbefore esp_rom/include -iwithprefixbefore esp_rom/include/esp32s3 -iwithprefixbefore esp_rom/esp32s3 -iwithprefixbefore esp_common/include -iwithprefixbefore esp_system/include -iwithprefixbefore esp_system/port/soc -iwithprefixbefore esp_system/port/public_compat -iwithprefixbefore xtensa/include -iwithprefixbefore xtensa/esp32s3/include -iwithprefixbefore driver/include -iwithprefixbefore driver/esp32s3/include -iwithprefixbefore esp_pm/include -iwithprefixbefore esp_ringbuf/include -iwithprefixbefore efuse/include -iwithprefixbefore efuse/esp32s3/include -iwithprefixbefore vfs/include -iwithprefixbefore esp_wifi/include -iwithprefixbefore esp_event/include -iwithprefixbefore esp_netif/include -iwithprefixbefore esp_eth/include -iwithprefixbefore tcpip_adapter/include -iwithprefixbefore esp_phy/include -iwithprefixbefore esp_phy/esp32s3/include -iwithprefixbefore esp_ipc/include -iwithprefixbefore app_trace/include -iwithprefixbefore esp_timer/include -iwithprefixbefore mbedtls/port/include -iwithprefixbefore mbedtls/mbedtls/include -iwithprefixbefore mbedtls/esp_crt_bundle/include -iwithprefixbefore app_update/include -iwithprefixbefore spi_flash/include -iwithprefixbefore bootloader_support/include -iwithprefixbefore nvs_flash/include -iwithprefixbefore pthread/include -iwithprefixbefore esp_gdbstub/include -iwithprefixbefore esp_gdbstub/xtensa -iwithprefixbefore esp_gdbstub/esp32s3 -iwithprefixbefore espcoredump/include -iwithprefixbefore espcoredump/include/port/xtensa -iwithprefixbefore wpa_supplicant/include -iwithprefixbefore wpa_supplicant/port/include -iwithprefixbefore wpa_supplicant/esp_supplicant/include -iwithprefixbefore ieee802154/include -iwithprefixbefore console -iwithprefixbefore asio/asio/asio/include -iwithprefixbefore asio/port/include -iwithprefixbefore bt/common/osi/include -iwithprefixbefore bt/include/esp32c3/include -iwithprefixbefore bt/common/api/include/api -iwithprefixbefore bt/common/btc/profile/esp/blufi/include -iwithprefixbefore bt/common/btc/profile/esp/include -iwithprefixbefore bt/host/bluedroid/api/include/api -iwithprefixbefore bt/esp_ble_mesh/mesh_common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_common/tinycrypt/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core -iwithprefixbefore bt/esp_ble_mesh/mesh_core/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core/storage -iwithprefixbefore bt/esp_ble_mesh/btc/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/client/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/server/include -iwithprefixbefore bt/esp_ble_mesh/api/core/include -iwithprefixbefore bt/esp_ble_mesh/api/models/include -iwithprefixbefore bt/esp_ble_mesh/api -iwithprefixbefore cbor/port/include -iwithprefixbefore unity/include -iwithprefixbefore unity/unity/src -iwithprefixbefore cmock/CMock/src -iwithprefixbefore coap/port/include -iwithprefixbefore coap/libcoap/include -iwithprefixbefore nghttp/port/include -iwithprefixbefore nghttp/nghttp2/lib/includes -iwithprefixbefore esp-tls -iwithprefixbefore esp-tls/esp-tls-crypto -iwithprefixbefore esp_adc_cal/include -iwithprefixbefore esp_hid/include -iwithprefixbefore tcp_transport/include -iwithprefixbefore esp_http_client/include -iwithprefixbefore esp_http_server/include -iwithprefixbefore esp_https_ota/include -iwithprefixbefore esp_https_server/include -iwithprefixbefore esp_lcd/include -iwithprefixbefore esp_lcd/interface -iwithprefixbefore protobuf-c/protobuf-c -iwithprefixbefore protocomm/include/common -iwithprefixbefore protocomm/include/security -iwithprefixbefore protocomm/include/transports -iwithprefixbefore mdns/include -iwithprefixbefore esp_local_ctrl/include -iwithprefixbefore sdmmc/include -iwithprefixbefore esp_serial_slave_link/include -iwithprefixbefore esp_websocket_client/include -iwithprefixbefore expat/expat/expat/lib -iwithprefixbefore expat/port/include -iwithprefixbefore wear_levelling/include -iwithprefixbefore fatfs/diskio -iwithprefixbefore fatfs/vfs -iwithprefixbefore fatfs/src -iwithprefixbefore freemodbus/freemodbus/common/include -iwithprefixbefore idf_test/include -iwithprefixbefore idf_test/include/esp32s3 -iwithprefixbefore jsmn/include -iwithprefixbefore json/cJSON -iwithprefixbefore libsodium/libsodium/src/libsodium/include -iwithprefixbefore libsodium/port_include -iwithprefixbefore mqtt/esp-mqtt/include -iwithprefixbefore openssl/include -iwithprefixbefore perfmon/include -iwithprefixbefore spiffs/include -iwithprefixbefore usb/include -iwithprefixbefore ulp/include -iwithprefixbefore wifi_provisioning/include -iwithprefixbefore rmaker_common/include -iwithprefixbefore esp_diagnostics/include -iwithprefixbefore rtc_store/include -iwithprefixbefore esp_insights/include -iwithprefixbefore json_parser/upstream/include -iwithprefixbefore json_parser/upstream -iwithprefixbefore json_generator/upstream -iwithprefixbefore esp_schedule/include -iwithprefixbefore espressif__esp_secure_cert_mgr/include -iwithprefixbefore esp_rainmaker/include -iwithprefixbefore gpio_button/button/include -iwithprefixbefore qrcode/include -iwithprefixbefore ws2812_led -iwithprefixbefore freertos/include/freertos -iwithprefixbefore arduino_tinyusb/tinyusb/src -iwithprefixbefore arduino_tinyusb/include -iwithprefixbefore esp_littlefs/include -iwithprefixbefore esp-dl/include -iwithprefixbefore esp-dl/include/tool -iwithprefixbefore esp-dl/include/typedef -iwithprefixbefore esp-dl/include/image -iwithprefixbefore esp-dl/include/math -iwithprefixbefore esp-dl/include/nn -iwithprefixbefore esp-dl/include/layer -iwithprefixbefore esp-dl/include/detect -iwithprefixbefore esp-dl/include/model_zoo -iwithprefixbefore esp32-camera/driver/include -iwithprefixbefore esp32-camera/conversions/include -iwithprefixbefore espressif__esp-dsp/modules/dotprod/include -iwithprefixbefore espressif__esp-dsp/modules/support/include -iwithprefixbefore espressif__esp-dsp/modules/support/mem/include -iwithprefixbefore espressif__esp-dsp/modules/windows/include -iwithprefixbefore espressif__esp-dsp/modules/windows/hann/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_harris/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/flat_top/include -iwithprefixbefore espressif__esp-dsp/modules/iir/include -iwithprefixbefore espressif__esp-dsp/modules/fir/include -iwithprefixbefore espressif__esp-dsp/modules/math/include -iwithprefixbefore espressif__esp-dsp/modules/math/add/include -iwithprefixbefore espressif__esp-dsp/modules/math/sub/include -iwithprefixbefore espressif__esp-dsp/modules/math/mul/include -iwithprefixbefore espressif__esp-dsp/modules/math/addc/include -iwithprefixbefore espressif__esp-dsp/modules/math/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/math/sqrt/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/add/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/addc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/sub/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/include -iwithprefixbefore espressif__esp-dsp/modules/fft/include -iwithprefixbefore espressif__esp-dsp/modules/dct/include -iwithprefixbefore espressif__esp-dsp/modules/conv/include -iwithprefixbefore espressif__esp-dsp/modules/common/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/test/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf_imu13states/include -iwithprefixbefore fb_gfx/include -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/qio_opi/include -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -c -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_NANO_ESP32 -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="NANO_ESP32" -DARDUINO_VARIANT="arduino_nano_nora" -DARDUINO_PARTITION_app3M_fat9M_fact512k_16MB -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PIN_REMAP -DBOARD_HAS_PSRAM -DUSB_MANUFACTURER="Arduino" -DUSB_PRODUCT="Nano ESP32" -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/build_opt.h @C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\cores\esp32 -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\variants\arduino_nano_nora -IC:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi\src C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\sketch\MyExSimpleTime.ino.cpp -o C:\Users\redac\AppData\Local\Temp\2248730508\sketch_merged.cpp
C:\Users\redac\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\redac\AppData\Local\Temp\2248730508\sketch_merged.cpp

Compiling sketch...
"C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\s3-gcc\\2021r2-p5/bin/xtensa-esp32s3-elf-g++" -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4.7-dirty\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -iprefix "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5/tools/sdk/esp32s3/include/" -iwithprefixbefore newlib/platform_include -iwithprefixbefore freertos/include -iwithprefixbefore freertos/include/esp_additions/freertos -iwithprefixbefore freertos/port/xtensa/include -iwithprefixbefore freertos/include/esp_additions -iwithprefixbefore esp_hw_support/include -iwithprefixbefore esp_hw_support/include/soc -iwithprefixbefore esp_hw_support/include/soc/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3 -iwithprefixbefore esp_hw_support/port/esp32s3/private_include -iwithprefixbefore heap/include -iwithprefixbefore log/include -iwithprefixbefore lwip/include/apps -iwithprefixbefore lwip/include/apps/sntp -iwithprefixbefore lwip/lwip/src/include -iwithprefixbefore lwip/port/esp32/include -iwithprefixbefore lwip/port/esp32/include/arch -iwithprefixbefore soc/include -iwithprefixbefore soc/esp32s3 -iwithprefixbefore soc/esp32s3/include -iwithprefixbefore hal/esp32s3/include -iwithprefixbefore hal/include -iwithprefixbefore hal/platform_port/include -iwithprefixbefore esp_rom/include -iwithprefixbefore esp_rom/include/esp32s3 -iwithprefixbefore esp_rom/esp32s3 -iwithprefixbefore esp_common/include -iwithprefixbefore esp_system/include -iwithprefixbefore esp_system/port/soc -iwithprefixbefore esp_system/port/public_compat -iwithprefixbefore xtensa/include -iwithprefixbefore xtensa/esp32s3/include -iwithprefixbefore driver/include -iwithprefixbefore driver/esp32s3/include -iwithprefixbefore esp_pm/include -iwithprefixbefore esp_ringbuf/include -iwithprefixbefore efuse/include -iwithprefixbefore efuse/esp32s3/include -iwithprefixbefore vfs/include -iwithprefixbefore esp_wifi/include -iwithprefixbefore esp_event/include -iwithprefixbefore esp_netif/include -iwithprefixbefore esp_eth/include -iwithprefixbefore tcpip_adapter/include -iwithprefixbefore esp_phy/include -iwithprefixbefore esp_phy/esp32s3/include -iwithprefixbefore esp_ipc/include -iwithprefixbefore app_trace/include -iwithprefixbefore esp_timer/include -iwithprefixbefore mbedtls/port/include -iwithprefixbefore mbedtls/mbedtls/include -iwithprefixbefore mbedtls/esp_crt_bundle/include -iwithprefixbefore app_update/include -iwithprefixbefore spi_flash/include -iwithprefixbefore bootloader_support/include -iwithprefixbefore nvs_flash/include -iwithprefixbefore pthread/include -iwithprefixbefore esp_gdbstub/include -iwithprefixbefore esp_gdbstub/xtensa -iwithprefixbefore esp_gdbstub/esp32s3 -iwithprefixbefore espcoredump/include -iwithprefixbefore espcoredump/include/port/xtensa -iwithprefixbefore wpa_supplicant/include -iwithprefixbefore wpa_supplicant/port/include -iwithprefixbefore wpa_supplicant/esp_supplicant/include -iwithprefixbefore ieee802154/include -iwithprefixbefore console -iwithprefixbefore asio/asio/asio/include -iwithprefixbefore asio/port/include -iwithprefixbefore bt/common/osi/include -iwithprefixbefore bt/include/esp32c3/include -iwithprefixbefore bt/common/api/include/api -iwithprefixbefore bt/common/btc/profile/esp/blufi/include -iwithprefixbefore bt/common/btc/profile/esp/include -iwithprefixbefore bt/host/bluedroid/api/include/api -iwithprefixbefore bt/esp_ble_mesh/mesh_common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_common/tinycrypt/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core -iwithprefixbefore bt/esp_ble_mesh/mesh_core/include -iwithprefixbefore bt/esp_ble_mesh/mesh_core/storage -iwithprefixbefore bt/esp_ble_mesh/btc/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/common/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/client/include -iwithprefixbefore bt/esp_ble_mesh/mesh_models/server/include -iwithprefixbefore bt/esp_ble_mesh/api/core/include -iwithprefixbefore bt/esp_ble_mesh/api/models/include -iwithprefixbefore bt/esp_ble_mesh/api -iwithprefixbefore cbor/port/include -iwithprefixbefore unity/include -iwithprefixbefore unity/unity/src -iwithprefixbefore cmock/CMock/src -iwithprefixbefore coap/port/include -iwithprefixbefore coap/libcoap/include -iwithprefixbefore nghttp/port/include -iwithprefixbefore nghttp/nghttp2/lib/includes -iwithprefixbefore esp-tls -iwithprefixbefore esp-tls/esp-tls-crypto -iwithprefixbefore esp_adc_cal/include -iwithprefixbefore esp_hid/include -iwithprefixbefore tcp_transport/include -iwithprefixbefore esp_http_client/include -iwithprefixbefore esp_http_server/include -iwithprefixbefore esp_https_ota/include -iwithprefixbefore esp_https_server/include -iwithprefixbefore esp_lcd/include -iwithprefixbefore esp_lcd/interface -iwithprefixbefore protobuf-c/protobuf-c -iwithprefixbefore protocomm/include/common -iwithprefixbefore protocomm/include/security -iwithprefixbefore protocomm/include/transports -iwithprefixbefore mdns/include -iwithprefixbefore esp_local_ctrl/include -iwithprefixbefore sdmmc/include -iwithprefixbefore esp_serial_slave_link/include -iwithprefixbefore esp_websocket_client/include -iwithprefixbefore expat/expat/expat/lib -iwithprefixbefore expat/port/include -iwithprefixbefore wear_levelling/include -iwithprefixbefore fatfs/diskio -iwithprefixbefore fatfs/vfs -iwithprefixbefore fatfs/src -iwithprefixbefore freemodbus/freemodbus/common/include -iwithprefixbefore idf_test/include -iwithprefixbefore idf_test/include/esp32s3 -iwithprefixbefore jsmn/include -iwithprefixbefore json/cJSON -iwithprefixbefore libsodium/libsodium/src/libsodium/include -iwithprefixbefore libsodium/port_include -iwithprefixbefore mqtt/esp-mqtt/include -iwithprefixbefore openssl/include -iwithprefixbefore perfmon/include -iwithprefixbefore spiffs/include -iwithprefixbefore usb/include -iwithprefixbefore ulp/include -iwithprefixbefore wifi_provisioning/include -iwithprefixbefore rmaker_common/include -iwithprefixbefore esp_diagnostics/include -iwithprefixbefore rtc_store/include -iwithprefixbefore esp_insights/include -iwithprefixbefore json_parser/upstream/include -iwithprefixbefore json_parser/upstream -iwithprefixbefore json_generator/upstream -iwithprefixbefore esp_schedule/include -iwithprefixbefore espressif__esp_secure_cert_mgr/include -iwithprefixbefore esp_rainmaker/include -iwithprefixbefore gpio_button/button/include -iwithprefixbefore qrcode/include -iwithprefixbefore ws2812_led -iwithprefixbefore freertos/include/freertos -iwithprefixbefore arduino_tinyusb/tinyusb/src -iwithprefixbefore arduino_tinyusb/include -iwithprefixbefore esp_littlefs/include -iwithprefixbefore esp-dl/include -iwithprefixbefore esp-dl/include/tool -iwithprefixbefore esp-dl/include/typedef -iwithprefixbefore esp-dl/include/image -iwithprefixbefore esp-dl/include/math -iwithprefixbefore esp-dl/include/nn -iwithprefixbefore esp-dl/include/layer -iwithprefixbefore esp-dl/include/detect -iwithprefixbefore esp-dl/include/model_zoo -iwithprefixbefore esp32-camera/driver/include -iwithprefixbefore esp32-camera/conversions/include -iwithprefixbefore espressif__esp-dsp/modules/dotprod/include -iwithprefixbefore espressif__esp-dsp/modules/support/include -iwithprefixbefore espressif__esp-dsp/modules/support/mem/include -iwithprefixbefore espressif__esp-dsp/modules/windows/include -iwithprefixbefore espressif__esp-dsp/modules/windows/hann/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_harris/include -iwithprefixbefore espressif__esp-dsp/modules/windows/blackman_nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/nuttall/include -iwithprefixbefore espressif__esp-dsp/modules/windows/flat_top/include -iwithprefixbefore espressif__esp-dsp/modules/iir/include -iwithprefixbefore espressif__esp-dsp/modules/fir/include -iwithprefixbefore espressif__esp-dsp/modules/math/include -iwithprefixbefore espressif__esp-dsp/modules/math/add/include -iwithprefixbefore espressif__esp-dsp/modules/math/sub/include -iwithprefixbefore espressif__esp-dsp/modules/math/mul/include -iwithprefixbefore espressif__esp-dsp/modules/math/addc/include -iwithprefixbefore espressif__esp-dsp/modules/math/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/math/sqrt/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/add/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/addc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mulc/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/sub/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/include -iwithprefixbefore espressif__esp-dsp/modules/fft/include -iwithprefixbefore espressif__esp-dsp/modules/dct/include -iwithprefixbefore espressif__esp-dsp/modules/conv/include -iwithprefixbefore espressif__esp-dsp/modules/common/include -iwithprefixbefore espressif__esp-dsp/modules/matrix/mul/test/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf/include -iwithprefixbefore espressif__esp-dsp/modules/kalman/ekf_imu13states/include -iwithprefixbefore fb_gfx/include "-IC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5/tools/sdk/esp32s3/qio_opi/include" -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -Os -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_NANO_ESP32 -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"NANO_ESP32\"" "-DARDUINO_VARIANT=\"arduino_nano_nora\"" -DARDUINO_PARTITION_app3M_fat9M_fact512k_16MB -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PIN_REMAP -DBOARD_HAS_PSRAM "-DUSB_MANUFACTURER=\"Arduino\"" "-DUSB_PRODUCT=\"Nano ESP32\"" -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 "@C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/build_opt.h" "@C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts" "-IC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\cores\\esp32" "-IC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\variants\\arduino_nano_nora" "-IC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\libraries\\WiFi\\src" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\sketch\\MyExSimpleTime.ino.cpp" -o "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\sketch\\MyExSimpleTime.ino.cpp.o"
In file included from C:\Users\redac\OneDrive\ArduinoSketches\Reference_inos\MyExSimpleTime\MyExSimpleTime.ino:3:
C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5/tools/sdk/esp32s3/include/lwip/include/apps/sntp/sntp.h:9:2: warning: #warning "sntp.h in IDF's lwip port folder is deprecated. Please include esp_sntp.h" [-Wcpp]
 #warning "sntp.h in IDF's lwip port folder is deprecated. Please include esp_sntp.h"
  ^~~~~~~
Compiling libraries...
Compiling library "WiFi"
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFi.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiServer.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiSTA.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiGeneric.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiAP.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiUdp.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiScan.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiClient.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\libraries\WiFi\WiFiMulti.cpp.o
Compiling core...
cmd /c echo -DARDUINO_CORE_BUILD > "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts"
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\core\double_tap.c.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\core\io_pin_remap.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\core\dfu_callbacks.cpp.o
Using previously compiled file: C:\Users\redac\AppData\Local\arduino\sketches\E0B44DD7C9773F54D8B3F1229DBB3DE4\core\variant.cpp.o
Using precompiled core: C:\Users\redac\AppData\Local\arduino\cores\8d32357c8b1616bdc9880876247ce5cf\core.a
cmd /c type nul > "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/file_opts"
Linking everything together...
"C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\s3-gcc\\2021r2-p5/bin/xtensa-esp32s3-elf-g++" "-Wl,--Map=C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.map" "-LC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5/tools/sdk/esp32s3/lib" "-LC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5/tools/sdk/esp32s3/ld" "-LC:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5/tools/sdk/esp32s3/qio_opi" -T memory.ld -T sections.ld -T esp32s3.rom.ld -T esp32s3.rom.api.ld -T esp32s3.rom.libgcc.ld -T esp32s3.rom.newlib.ld -T esp32s3.rom.version.ld -T esp32s3.rom.newlib-time.ld -T esp32s3.peripherals.ld -mlongcalls -Wl,--cref -Wl,--gc-sections -fno-rtti -fno-lto -Wl,--wrap=esp_log_write -Wl,--wrap=esp_log_writev -Wl,--wrap=log_printf -u _Z5setupv -u _Z4loopv -u esp_app_desc -u pthread_include_pthread_impl -u pthread_include_pthread_cond_var_impl -u pthread_include_pthread_local_storage_impl -u pthread_include_pthread_rwlock_impl -u include_esp_phy_override -u ld_include_highint_hdl -u start_app -u start_app_other_cores -u __ubsan_include -Wl,--wrap=longjmp -u __assert_func -u vfs_include_syscalls_impl -Wl,--undefined=uxTopUsedPriority -u app_main -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u newlib_include_pthread_impl -u newlib_include_assert_impl -u __cxa_guard_dummy -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PIN_REMAP -DBOARD_HAS_PSRAM "-DUSB_MANUFACTURER=\"Arduino\"" "-DUSB_PRODUCT=\"Nano ESP32\"" -DARDUINO_USB_MODE=0 -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 -Wl,--start-group "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\sketch\\MyExSimpleTime.ino.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFi.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiAP.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiClient.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiGeneric.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiMulti.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiSTA.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiScan.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiServer.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\WiFi\\WiFiUdp.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\core\\dfu_callbacks.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\core\\double_tap.c.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\core\\io_pin_remap.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\core\\variant.cpp.o" "C:\\Users\\redac\\AppData\\Local\\arduino\\cores\\8d32357c8b1616bdc9880876247ce5cf\\core.a" -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lasio -lbt -lcbor -lunity -lcmock -lcoap -lnghttp -lesp-tls -lesp_adc_cal -lesp_hid -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lesp_https_server -lesp_lcd -lprotobuf-c -lprotocomm -lmdns -lesp_local_ctrl -lsdmmc -lesp_serial_slave_link -lesp_websocket_client -lexpat -lwear_levelling -lfatfs -lfreemodbus -ljsmn -ljson -llibsodium -lmqtt -lopenssl -lperfmon -lspiffs -lusb -lulp -lwifi_provisioning -lrmaker_common -lesp_diagnostics -lrtc_store -lesp_insights -ljson_parser -ljson_generator -lesp_schedule -lespressif__esp_secure_cert_mgr -lesp_rainmaker -lgpio_button -lqrcode -lws2812_led -lesp32-camera -lesp_littlefs -lespressif__esp-dsp -lfb_gfx -lasio -lcmock -lunity -lcoap -lesp_lcd -lesp_websocket_client -lexpat -lfreemodbus -ljsmn -llibsodium -lperfmon -lusb -lesp_adc_cal -lesp_hid -lfatfs -lwear_levelling -lopenssl -lspiffs -lesp_insights -lcbor -lesp_diagnostics -lrtc_store -lesp_rainmaker -lesp_local_ctrl -lesp_https_server -lwifi_provisioning -lprotocomm -lbt -lbtdm_app -lprotobuf-c -lmdns -ljson -ljson_parser -ljson_generator -lesp_schedule -lespressif__esp_secure_cert_mgr -lqrcode -lrmaker_common -lmqtt -larduino_tinyusb -lcat_face_detect -lhuman_face_detect -lcolor_detect -lmfn -ldl -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lesp_ringbuf -lefuse -lesp_ipc -ldriver -lesp_pm -lmbedtls -lapp_update -lbootloader_support -lspi_flash -lnvs_flash -lpthread -lesp_gdbstub -lespcoredump -lesp_phy -lesp_system -lesp_rom -lhal -lvfs -lesp_eth -ltcpip_adapter -lesp_netif -lesp_event -lwpa_supplicant -lesp_wifi -lconsole -llwip -llog -lheap -lsoc -lesp_hw_support -lxtensa -lesp_common -lesp_timer -lfreertos -lnewlib -lcxx -lapp_trace -lnghttp -lesp-tls -ltcp_transport -lesp_http_client -lesp_http_server -lesp_https_ota -lsdmmc -lesp_serial_slave_link -lulp -lmbedtls_2 -lmbedcrypto -lmbedx509 -lcoexist -lcore -lespnow -lmesh -lnet80211 -lpp -lsmartconfig -lwapi -lphy -lbtbb -lesp_phy -lphy -lbtbb -lesp_phy -lphy -lbtbb -lxt_hal -lc -lm -lnewlib -lstdc++ -lpthread -lgcc -lcxx -Wl,--end-group -Wl,-EL -o "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.elf"
"C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1/esptool.exe" --chip esp32s3 elf2image --flash_mode dio --flash_freq 80m --flash_size 16MB --elf-sha256-offset 0xb0 -o "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.bin" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.elf"
esptool.py v4.5.1
Creating esp32s3 image...
Merged 2 ELF sections
Successfully created esp32s3 image.
"C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\tools\\gen_esp32part.exe" -q "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/partitions.csv" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.partitions.bin"
cmd /c if exist "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4\\libraries\\Insights" "C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\esp32\\2.0.18-arduino.5\\tools\\gen_insights_package.exe" "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4" MyExSimpleTime.ino "C:\\Users\\redac\\OneDrive\\ArduinoSketches\\Reference_inos\\MyExSimpleTime"
Using library WiFi at version 2.0.0 in folder: C:\Users\redac\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.18-arduino.5\libraries\WiFi 
"C:\\Users\\redac\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\s3-gcc\\2021r2-p5/bin/xtensa-esp32s3-elf-size" -A "C:\\Users\\redac\\AppData\\Local\\arduino\\sketches\\E0B44DD7C9773F54D8B3F1229DBB3DE4/MyExSimpleTime.ino.elf"
Sketch uses 717565 bytes (22%) of program storage space. Maximum is 3145728 bytes.
Global variables use 56456 bytes (17%) of dynamic memory, leaving 271224 bytes for local variables. Maximum is 327680 bytes.

Please post the sketch that produces that compiler output. I would be interested to see how and where time.h is #included

I am not clear about what you mean when you say

Hi Bob, thanks. (I hope you find this interesting because its taking your time, I appreciate everyone's interest.)

the sketch is just a copy of ESP32 example 'SimpleTime.ino' (see 1st code quote)

'time.h' resolves to first include an ESP32 version of that header (2nd code quote, where you will see an #include_next for time.h)

As I say, if I were to compile from scratch, I suspect we might start to see the resolving and compiling of time.h includes in the logging.(?)

#include <WiFi.h>
#include "time.h"
#include "sntp.h"

const char* ssid       = "-";
const char* password   = "-";

const char* ntpServer1 = "pool.ntp.org";
const char* ntpServer2 = "time.nist.gov";
const long  gmtOffset_sec = 3600;
const int   daylightOffset_sec = 3600;

const char* time_zone = "CET-1CEST,M3.5.0,M10.5.0/3";  // TimeZone rule for Europe/Rome including daylight adjustment rules (optional)

void printLocalTime()
{
  struct tm timeinfo;
  if(!getLocalTime(&timeinfo)){
    Serial.println("No time available (yet)");
    return;
  }
  Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}

// Callback function (get's called when time adjusts via NTP)
void timeavailable(struct timeval *t)
{
  Serial.println("Got time adjustment from NTP!");
  printLocalTime();
}

void setup()
{
  Serial.begin(115200);

  // set notification call-back function
  sntp_set_time_sync_notification_cb( timeavailable );

  /**
   * NTP server address could be aquired via DHCP,
   *
   * NOTE: This call should be made BEFORE esp32 aquires IP address via DHCP,
   * otherwise SNTP option 42 would be rejected by default.
   * NOTE: configTime() function call if made AFTER DHCP-client run
   * will OVERRIDE aquired NTP server address
   */
  sntp_servermode_dhcp(1);    // (optional)

  /**
   * This will set configured ntp servers and constant TimeZone/daylightOffset
   * should be OK if your time zone does not need to adjust daylightOffset twice a year,
   * in such a case time adjustment won't be handled automagicaly.
   */
  configTime(gmtOffset_sec, daylightOffset_sec, ntpServer1, ntpServer2);

  /**
   * A more convenient approach to handle TimeZones with daylightOffset 
   * would be to specify a environmnet variable with TimeZone definition including daylight adjustmnet rules.
   * A list of rules for your zone could be obtained from https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h
   */
  //configTzTime(time_zone, ntpServer1, ntpServer2);

  //connect to WiFi
  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
  }
  Serial.println(" CONNECTED");

}

void loop()
{
  delay(5000);
  printLocalTime();     // it will take some time to sync time :)
}

time.h

/ Copyright 2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef _ESP_TIME_H
#define _ESP_TIME_H

#ifdef __cplusplus
extern "C" {
#endif
#include_next <time.h>

#define _POSIX_TIMERS 1
#ifndef CLOCK_MONOTONIC
#define CLOCK_MONOTONIC (clockid_t)4
#endif
#ifndef CLOCK_BOOTTIME
#define CLOCK_BOOTTIME (clockid_t)4
#endif

int clock_settime(clockid_t clock_id, const struct timespec *tp);
int clock_gettime(clockid_t clock_id, struct timespec *tp);
int clock_getres(clockid_t clock_id, struct timespec *res);

#ifdef __cplusplus
}
#endif
#endif /* _ESP_TIME_H */

I'm actually starting to think that although time.h is included, nothing in time.h is actually used, and so its just planned/optimised out early on, and that's why it doesn't appear in logging.
If I comment out the include for wifi.h, validate fails. if I comment out the include for time.h it validates just fine.

Next naive step, (because naive is all I can do) is to see if it actually still runs.

Yeah, I don't think time.h is actually being used...

Yeah confirmed, it runs just fine without time.h included.
This has been massively helpful everyone, but at this point I don't think my thread is likely to be a good use of anyone's time.

It is certainly the case that only functions used from #included libraries are actually compiled into the sketch so it is perhaps no wonder that the compiler does not actually #include time.h

Who knows when and how the topic might be useful to someone in the future

It is. It provides the declaration of tm, which is used in your sketch:

It is also used transitively by some of the other dependencies of your sketch.

This is because the #include directive is provided transitively by other #include directives.

In fact, you will find it is even possible to reference objects declared by time.h in a sketch that does not contain any #include directives at all. This is because:

https://arduino.github.io/arduino-cli/latest/sketch-build-process/#pre-processing

  • If not already present, #include <Arduino.h> is added to the sketch.

and Arduino.h transitively provides an #include directive for time.h.

However, it is best to avoid a reliance on such things since they are not guaranteed to continue to do so. In the case of something fundamental like time.h, some might argue that there is an implicit contract that it will be provided by Arduino.h, but even that is questionable and in general it should be thought of as a chance side effect.

It is best practices to add an #include directive to your code for each header file that is intended to provide the declarations referenced in your code, even if not absolutely necessary.

Note this

https://arduino.github.io/arduino-cli/latest/sketch-build-process/#dependency-resolution

The sketch is scanned recursively for dependencies. There are predefined include search paths:

  1. Core library folder (as defined by {build.core})
  2. Variant folder (as defined by {build.variant})
  3. Standard system directories (e.g., {runtime.tools.avr-gcc.path}/avr/include)
  4. Include search paths added to resolve prior dependencies

If the dependency is not present in any of those locations, the installed libraries are then searched

The friendly content you see in the compilation output:

is specific to that last part:

If the dependency is not present in any of those locations, the installed libraries are then searched

(the formal term for this is "library discovery")

When it comes to #include directives for a header file like time.h that is present in a path in one of the "predefined include search paths", you won't see that friendly content in the compilation output. The reason is that library discovery is never performed for this #include directive.

This has nothing to do with caching. Library discovery is not performed for these header files even on a fresh compilation.

Ohh!
Thanks Ptillish! Loads of great stuff to sink my teeth into.
At this point having taken up so much time I really need to go through pre-processing and dependency-resolution.I'm impressed thats covered in much detail by arduino at all, as it seems like kind of an "out-of-scope research C/C++ compilers if you'd like to know more",kind of matter.

I think its an answer to my question

Its a shame you can't mark multiple post as answer to a the question.

So I guess what Bob said then...

Thanks again Bob.

It is true that the system used for the "predefined include search paths" is just a standard C++ compiler feature:

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I

So if you are wanting information about the compilation commands you see in the verbose output, you should definitely look to the GCC documentation rather than hoping to find Arduino-specific documentation about it.

But the fact that the core and core variant folders of the boards platform are added to the search path is something specific to Arduino, and implemented in Arduino's own codebase for the sketch build system (this is handled by a tool named Arduino CLI). So this is something we should document even though we don't necessarily need to document the general compiler "search path" system (though we could do a better job of explaining that this is the system used for the "predefined include search paths").

Likewise, the "library discovery" system is something Arduino implemented so it is definitely our responsibility to document that.