AWS IoT Device SDK C++ v2: AWS IoT Device SDK for C++ v2

AWS IoT Device SDK C++ v2 1.14.0 AWS IoT Device SDK C++ v2

AWS IoT Device SDK for C++ v2

This document provides information about the AWS IoT device SDK for C++ V2.

If you have any issues or feature requests, please file an issue or pull request.

This SDK is built on the AWS Common Runtime, a collection of libraries (aws-c-common, aws-c-io, aws-c-mqtt, aws-c-http, aws-c-cal, aws-c-auth, s2n...) written in C to be cross-platform, high-performance, secure, and reliable. The libraries are bound to C++ by the aws-crt-cpp package.

Jump To:

- Installation
- Samples
- Getting Help
- FAQ
- Giving Feedback and Contributions

# Installation

## Minimum Requirements

- C++ 11 or higher
- CMake 3.1+
- Clang 3.9+ or GCC 4.8+ or MSVC 2015+

## Build from source

### Automatically Build and Install AWS Dependencies

Note: `-DCMAKE_INSTALL_PREFIX` can be any path where the project needs to be installed. Taking sdk-cpp-workspace as an example here.

### MacOS and Linux

mkdir sdk-cpp-workspace
cd sdk-cpp-workspace
git clone --recursive https://github.com/aws/aws-iot-device-sdk-cpp-v2.git
mkdir aws-iot-device-sdk-cpp-v2-build
cd aws-iot-device-sdk-cpp-v2-build
cmake -DCMAKE_INSTALL_PREFIX="<absolute path sdk-cpp-workspace dir>" -DCMAKE_BUILD_TYPE="<Release|RelWithDebInfo|Debug>" ../aws-iot-device-sdk-cpp-v2
cmake --build . --target install

### Windows

mkdir sdk-cpp-workspace
cd sdk-cpp-workspace
git clone --recursive https://github.com/aws/aws-iot-device-sdk-cpp-v2.git
mkdir aws-iot-device-sdk-cpp-v2-build
cd aws-iot-device-sdk-cpp-v2-build
cmake -DCMAKE_INSTALL_PREFIX="<absolute path sdk-cpp-workspace dir>" ../aws-iot-device-sdk-cpp-v2
cmake --build . --target install --config "<Release|RelWithDebInfo|Debug>"

Due to maximum path length limitations in the Windows API, we recommend cloning to a short path like: `C:\dev\iotsdk`

`--config` is only REQUIRED for multi-configuration build tools (VisualStudio/MsBuild being the most common).

# Samples

Samples README

# Getting Help

The best way to interact with our team is through GitHub. You can open an issue and choose from one of our templates for guidance, bug reports, or feature requests. You may also find help on community resources such as StackOverFlow with the tag #aws-iot or If you have a support plan with AWS Support, you can also create a new support case.

Please make sure to check out our resources too before opening an issue:

- Our FAQ
- API Docs
- Our Developer Guide (source)
- Check for similar Issues
- AWS IoT Core Documentation
- Dev Blog
- Integration with AWS IoT Services such as Device Shadow and Jobs is provided by code that been generated from a model of the service.

# Giving Feedback and Contributions

We need your help in making this SDK great. Please participate in the community and contribute to this effort by submitting issues, participating in discussion forums and submitting pull requests through the following channels.

- Contributions Guidelines
- Articulate your feature request or upvote existing ones on our Issues page.
- Submit Issues

# License

This library is licensed under the [Apache 2.0 License](LICENSE).