# OpenDAL Cpp Examples

Thank you for using OpenDAL Cpp Core!

> **Note**: These examples follow the [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) for API naming conventions.

## Run Examples

```bash
mkdir build
cd build
cmake ..
make
./basic-example
```