# C++ Agent

### What is the C++ Agent? <a href="#what-is-the-go-agent" id="what-is-the-go-agent"></a>

The SeaLights C++ Agent provides code coverage and test intelligence for C++ applications and services. It integrates directly into your C++ build process to collect comprehensive coverage data during testing and deployment.

#### When/why to use this agent <a href="#when-why-to-use-this-agent" id="when-why-to-use-this-agent"></a>

Use the C++ Agent when working with C++ applications or C++ test frameworks. You need to match the agent to the language of your Application Under Test or test runner:

* C++ applications → Use C++ Agent in Coverage Listener Mode
* C++ test frameworks → Use C++ Agent in Test Runner Mode

### Supported environments/frameworks

#### OS:

* Ubuntu 20.04 and newer
* Debian 11 and newer
* Compatible Linux distributions

#### Architectures:

* x64 (64 bit Intel/AMD)
* x86 (32 bit Intel/AMD)
* ARM64
* ARMv7 (32 bit ARM)

#### Compilers:

* GCC/G++ - versions 9.4 through 13.3
* Clang - versions 20 through 21

#### Test Frameworks:

* Google Test (Gtest) - versions 14, 15, 16

#### Standard Library Dependencies

The SeaLights C++ Agent depends on specific versions of standard runtime libraries. Ensure your system provides the following minimum versions:

| Architecture | Library | Minimum Version |
| ------------ | ------- | --------------- |
| x64          | GLIBCXX | v3.4.28         |
| x64          | GLIBC   | v2.31           |
| ARMv7        | GLIBCXX | v3.4.29         |
| ARMv7        | GLIBC   | v2.34           |

The agent is also compatible with environments using **MUSL** (1.2.3 - 1.2.5).

> Ensure that the runtime libraries available on your system meet or exceed these versions. Older versions may cause the tracer library to fail to load.
