Para cambiar la versión del compilador de C++11
a C++17
en PlatformIO, necesitas modificar la sección build_flags
en tu archivo de configuración de PlatformIO. Aquí un ejemplo de cómo quedaria tu archivo de configuración:
[platformio] default_envs = az-delivery-devkit-v4 [common] build_flags = -std=gnu++17 build_unflags = -std=gnu++11 [env:az-delivery-devkit-v4] monitor_speed = 115200 platform = espressif32 board = az-delivery-devkit-v4 framework = arduino lib_deps = olikraus/U8g2@^2.35.4 igorantolic/Ai Esp32 Rotary Encoder@^1.6 esphome/ESP32-audioI2S@^2.0.7 build_flags = ${common.build_flags} build_unflags = ${common.build_unflags}
En el fragmento anterior, -std=gnu++17
le indica al compilador que utilice la versión C++17 del estándar de C++. Por otro lado, -std=gnu++11
se utiliza para desactivar el uso de C++11. Estos flags se aplican a tu entorno de compilación az-delivery-devkit-v4
Cambiar a una versión más reciente del lenguaje C++, como por ejemplo C++17, tiene ventajas:
-
Nuevas características del lenguaje: Cada nueva versión de C++ introduce nuevas características del lenguaje que pueden hacer que tu código sea más eficiente, fácil de entender y robusto. Por ejemplo, C++17 introdujo características como
std::optional
ystd::variant
que pueden ayudar a manejar mejor los casos en los que una variable puede o no tener un valor. - Mejoras del compilador: A medida que se desarrolla una nueva versión del estándar de C++, los compiladores también mejoran, tu código se compila más rápido y se ejecuta más eficientemente.
- Compatibilidad con bibliotecas más recientes: Algunas bibliotecas solo son compatibles con versiones más recientes.
- Estandarización: Te aseguras de que estás utilizando un estándar que ha sido revisado y aprobado por la comunidad de C++. Esto puede hacer que tu código sea más confiable y fácil de entender para otros desarrolladores.
Deja un comentario