esp-boost is a C++ library ported by Espressif based on Boost, designed for developing C++ applications on ESP series SoCs (ESP32, ESP32-S3, ESP32-P4, etc.).
Note
- esp-boost is ported from the official Boost library version
1.87.0
. - Most libraries in esp-boost are directly copied from the official repository. Due to platform dependencies in some libraries, we made necessary modifications to compile on ESP-IDF (such as adding esp32.hpp and esp32.cpp in the
config
directory). All modifications are marked withesp32
comments.
Warning
- esp-boost has not yet fully ported all libraries from Boost, only a subset of commonly used functionalities. For specific support information, please refer to Supported Libraries.
- Since many Boost libraries require C++
Exception
andRTTI
features, which are disabled by default in ESP-IDF, users need to enable theCONFIG_COMPILER_CXX_EXCEPTIONS
andCONFIG_COMPILER_CXX_RTTI
configuration options inmenuconfig
.
Before using this library, please ensure you have installed the SDK that meets the following version requirements:
SDK | Version Required |
---|---|
esp-idf | >= 5.3 |
Note
- For SDK installation, please refer to ESP-IDF Programming Guide - Installation
esp-boost has been uploaded to the Espressif Component Registry. You can add it to your project in the following ways:
-
Using Command Line
Run the following command in your project directory:
idf.py add-dependency "espressif/esp-boost"
-
Modifying Configuration File
Create or modify the idf_component.yml file in your project directory:
dependencies: espressif/esp-boost: "*"
For detailed information, please refer to Espressif Documentation - IDF Component Manager.
📋 Below is a list of libraries supported by esp-boost:
Note
In the table below, the icons and symbols have the following meanings:
- ✅: Indicates that the library has been fully ported and has been completely validated using official examples and tests.
⚠️ : Indicates that the library's source code has been ported, but has not been fully validated with tests.- ❌: Indicates that there are no relevant examples or tests.