Ejemplo mínimo de PlatformIO ESP32 con ESP-IDF en C++

Por defecto, cuando inicializas un proyecto PlatformIO ESP-IDF, generará main.c - no un C++ sino un archivo C puro

Este ejemplo mínimo en su lugar usa main.cpp (puedes simplemente renombrar tu main.c - ver Cómo usar main.cpp de C++ con PlatformIO en ESP32 / esp-idf para una lista detallada de pasos a seguir).

main.cpp
#include <cstdio>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>

extern "C" {
    void app_main(void);
}

void app_main() {
    while(true) {
        printf("Hello PlatformIO!\n");
        // Esperar un segundo
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}

Echa un vistazo a artículos similares por categoría: C/C++ ESP8266/ESP32 PlatformIO