If you want to use Arduino Core 3.0.3 give pioarduino a try:
[env:esp32dev]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.03/platform-espressif32.zip
board = esp32dev
framework = arduino
The compilation result of your main.cpp::
Processing esp32dev (platform: https://github.com/pioarduino/platform-espressif32/releases/download/51.03.03/platform-espressif32.zip; board: esp32dev; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (51.3.3) > 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-arduinoespressif32 @ 3.0.3
- framework-arduinoespressif32-libs @ 5.1.0+sha.dc859c1e67
- tool-esptoolpy @ 4.7.5
- tool-mklittlefs @ 3.2.0
- tool-riscv32-esp-elf-gdb @ 11.2.0+20220823
- tool-xtensa-esp-elf-gdb @ 11.2.0+20230208
- toolchain-xtensa-esp32 @ 12.2.0+20230208
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 39 compatible libraries
Scanning dependencies...
Dependency Graph
|-- WiFi @ 3.0.3
|-- NetworkClientSecure @ 3.0.3
Building in release mode
Compiling .pio\build\esp32dev\src\main.cpp.o
Building .pio\build\esp32dev\bootloader.bin
Generating partitions .pio\build\esp32dev\partitions.bin
esptool.py v4.7.5
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkClient.cpp.o
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkEvents.cpp.o
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkInterface.cpp.o
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkManager.cpp.o
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkServer.cpp.o
Compiling .pio\build\esp32dev\lib6bf\Network\NetworkUdp.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\AP.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\STA.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFi.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFiMulti.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFiSTA.cpp.o
Compiling .pio\build\esp32dev\lib0f6\WiFi\WiFiScan.cpp.o
Compiling .pio\build\esp32dev\libc51\NetworkClientSecure\NetworkClientSecure.cpp.o
Compiling .pio\build\esp32dev\libc51\NetworkClientSecure\ssl_client.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\Esp.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\FirmwareMSC.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\FunctionalInterrupt.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\HEXBuilder.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\HWCDC.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\IPAddress.cpp.o
Archiving .pio\build\esp32dev\lib6bf\libNetwork.a
Indexing .pio\build\esp32dev\lib6bf\libNetwork.a
Compiling .pio\build\esp32dev\FrameworkArduino\MD5Builder.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\MacAddress.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\Print.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\SHA1Builder.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\StreamString.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\Tone.cpp.o
Archiving .pio\build\esp32dev\lib0f6\libWiFi.a
Compiling .pio\build\esp32dev\FrameworkArduino\USB.cpp.o
Indexing .pio\build\esp32dev\lib0f6\libWiFi.a
Compiling .pio\build\esp32dev\FrameworkArduino\USBCDC.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\USBMSC.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\WString.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\base64.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\cbuf.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\chip-debug-report.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-adc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-bt.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-cpu.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-dac.c.o
Archiving .pio\build\esp32dev\libc51\libNetworkClientSecure.a
Indexing .pio\build\esp32dev\libc51\libNetworkClientSecure.a
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-gpio.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-i2c-slave.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-i2c.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-ledc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-matrix.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-misc.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-periman.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-psram.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-rgb-led.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-rmt.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-sigmadelta.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-spi.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-time.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-timer.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-tinyusb.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-touch.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\esp32-hal-uart.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\firmware_msc_fat.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\libb64\cdecode.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\libb64\cencode.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\main.cpp.o
Compiling .pio\build\esp32dev\FrameworkArduino\stdlib_noniso.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\esp32dev\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\esp32dev\libFrameworkArduino.a
Indexing .pio\build\esp32dev\libFrameworkArduino.a
Linking .pio\build\esp32dev\firmware.elf
Retrieving maximum program size .pio\build\esp32dev\firmware.elf
Checking size .pio\build\esp32dev\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 7.5% (used 24608 bytes from 327680 bytes)
Flash: [==== ] 44.6% (used 584105 bytes from 1310720 bytes)
Building .pio\build\esp32dev\firmware.bin
esptool.py v4.7.5
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.