# cumulocity-sdk-c **Repository Path**: mirrors_SoftwareAG/cumulocity-sdk-c ## Basic Information - **Project Name**: cumulocity-sdk-c - **Description**: Cumulocity C++ Library is an asynchronous, event-driven networking library to ease your development for connecting to the Cumulocity cloud. The library uses Cumulocity's self invented SmartREST protocol for M2M communication which targets any device that are capable of running embedded Linux. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-24 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README _This repository is **deprecated** and is no longer maintained._ _Future development and support have been moved to [thin-edge.io](https://github.com/thin-edge/thin-edge.io)._ _Please refer to the thin-edge.io repository for the latest updates and contributions._ # Cumulocity C++ Library # Cumulocity C++ Library is an asynchronous, event-driven networking library to ease your development for connecting to the Cumulocity cloud. The library uses Cumulocity's self invented SmartREST protocol for M2M communication which targets any device that are capable of running embedded Linux. ### Prerequisites ### * *C++ 11* * *Linux* >= 2.6.32 * *libcurl* >= 7.57.0 * *Lua* >= 5.1 (optional, for Lua support) ### How to build the library? ### * Download the source code: ``` #!bash git clone git@bitbucket.org:m2m/cumulocity-sdk-c.git ``` * Pull in all sub-module dependencies. ``` #!bash git submodule init git submodule update ``` * Define your init.mk with device specific CPPFLAGS, CXXFLAGS, LDFLAGS, LDLIBS (see common.mk for reference), and CXX if cross compiling. * Copy the template *Makefile*: ``` #!bash cp Makefile.template Makefile ``` * Customize the *Makefile* to your needs. * Build the library in *debug* mode: ``` #!bash make ``` * Starts developing your Cumulocity agent and link it to the library with **-lsera**. * Build the library in *release* mode for production release: ``` #!bash make release ``` ### FAQ ### * I encountered an error when building the library. Try removing all intermediate build files first and start a new clean build: ``` #!bash make clean ``` * How can I enable *Lua* support when building the library? *Lua* support is disabled by default, to enable *Lua* support, add: ``` #!bash SR_PLUGIN_LUA:=1 ``` to your init.mk.