Overview

The Datadog C++ SDK supports native C and C++ applications on Linux, macOS, and Windows. SDK builds are tested on a range of compiler toolchains and 64-bit CPU architectures.

The SDK is built with CMake and officially integrates with CMake 3.21 or later. Applications using other build systems can link against precompiled SDK binaries directly.

Compiler support

Builds of the C++ SDK are officially tested on these operating systems, compilers, and architectures:

PlatformCompiler toolchainBuilt on
LinuxGCC 11, GCC 13, Clang 15, Clang 20Ubuntu 22.04 (x86_64)
macOSAppleClang 15 (Xcode 15.3)macOS 14 Sonoma (arm64)
WindowsMSVC 2022 (v17.14, toolset v143)Windows Server 2022 (x86_64)

Other compilers with C++17 support are expected to work but are not officially validated in CI.

The C API is compatible with C99 and can be used by applications without C++ language support.

Dependencies

For a full list of third-party components, see LICENSE-3rdparty.csv in the SDK repository.

libcurl

The SDK uses libcurl for HTTP transport. On Linux and macOS, the SDK links against the system-provided libcurl by default. You can override this to bundle a static libcurl build by setting the CMake option DD_HTTP_USE_SYSTEM_LIBCURL=OFF. On Windows, libcurl is always built from source as part of the SDK build.

Further Reading