Unable to import STL for ESP32 with ESP IDF

It seems for ESP32 project C++ STL library is by default linked per this topic. However, I can not include STL libraries. For example if I try #include <array> I get;

/Users/username/.platformio/penv/lib/python3.9/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
Processing esp32dev (platform: espressif32; board: esp32dev; framework: espidf)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/Users/username/.platformio/penv/lib/python3.9/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (6.3.2) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-espidf @ 3.50002.230601 (5.0.2) 
 - tool-cmake @ 3.16.4 
 - tool-esptoolpy @ 1.40501.0 (4.5.1) 
 - tool-mkfatfs @ 2.0.1 
 - tool-mklittlefs @ 1.203.210628 (2.3) 
 - tool-mkspiffs @ 2.230.0 (2.30) 
 - tool-ninja @ 1.9.0 
 - toolchain-esp32ulp @ 1.23500.220830 (2.35.0) 
 - toolchain-xtensa-esp32 @ 11.2.0+2022r1
Reading CMake configuration...
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 1 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/esp32dev/src/main.o
Generating LD script .pio/build/esp32dev/memory.ld
src/main.c:2:10: fatal error: array: No such file or directory
    2 | #include <array>
      |          ^~~~~~~
compilation terminated.
Compiling .pio/build/esp32dev/app_trace/app_trace.o
Compiling .pio/build/esp32dev/app_trace/app_trace_util.o
Compiling .pio/build/esp32dev/app_trace/host_file_io.o
Compiling .pio/build/esp32dev/app_trace/gcov/gcov_rtio.o
Compiling .pio/build/esp32dev/app_trace/port/port_uart.o
Compiling .pio/build/esp32dev/app_update/esp_ota_ops.o
Compiling .pio/build/esp32dev/app_update/esp_ota_app_desc.o
*** [.pio/build/esp32dev/src/main.o] Error 1
Compiling .pio/build/esp32dev/bootloader_support/src/bootloader_common.o
=========================================================================================== [FAILED] Took 1.58 seconds ===========================================================================================

My plotformio.ini is like below.

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = espidf

upload_port = /dev//dev/cu.SLAB_USBtoUART

It is pretty much the default project as is. What should I do or check to use STL?

Yeah that’s not gonna not work from a .c file-- you need .cpp and then at least extern "C" in front of the void app_main() function to get the proper linkage again.