C++ libraries
43 libraries across 10 topics
43 libraries
Boost
A vast collection of peer-reviewed C++ libraries, many of which became the standard library.
Developer Utilities5 examplesQt
The most complete cross-platform C++ application framework — GUI and much else.
Developer Utilities5 examplesPOCO C++ Libraries
POCO (Portable Components) is a set of modern C++ libraries that provide building blocks for network-centric, portable applications. It includes modules for networking, HTTP, XML, JSON, threading, file system access, and more.
Web & HTTP5 examplesnlohmann-json
JSON that behaves like a native C++ type — intuitive, header-only, widely adopted.
Web & HTTP5 examplesfmt
Fast, safe, Python-style string formatting — the basis of C++20's `std::format`.
Developer Utilities6 examplesspdlog
Very fast C++ logging, header-only, with synchronous and asynchronous modes.
Developer Utilities6 examplesCatch2
Header-only C++ testing with expressive assertions and no external dependencies.
Testing5 examplesGoogle Test
Google's C++ testing framework, paired with GoogleMock for mocking.
Testing5 examplesProtobuf
Google's binary serialisation format with schema-driven code generation.
Data & Analytics8 examplesOpenCV
The computer vision library — image processing, detection, tracking and calibration.
AI & Machine Learning6 examplesEigen
Header-only linear algebra with expression templates that eliminate temporaries.
Data & Analytics6 examplesCereal
Cereal is a C++11 library for serialization of data structures. It allows converting C++ objects to JSON, XML, or binary formats, and deserializing them back into objects efficiently and safely.
Data & Analytics6 examplescxxopts
cxxopts is a lightweight C++ library for parsing command-line options. It provides a simple and modern API to define options, parse arguments, and handle help messages, making it ideal for CLI applications.
Developer Utilities5 examplesRange-v3
Range-v3 is a C++ library that extends the standard library with a powerful range-based API. It provides composable, lazy-evaluated views and actions on sequences, enabling expressive and functional-style operations on containers and iterators.
Developer Utilities6 examplesGLFW
GLFW is an open-source library for creating windows, contexts, and handling input and events in OpenGL, OpenGL ES, and Vulkan applications. It is designed to be simple, portable, and lightweight, ideal for graphics and game development.
Developer Utilities6 examplesSFML
SFML (Simple and Fast Multimedia Library) is a multimedia library written in C++ that provides simple APIs for graphics, window management, audio, and networking. It is designed to be user-friendly and portable, ideal for 2D games and multimedia applications.
Developer Utilities6 examplesAssimp
Assimp (Open Asset Import Library) is a portable and extensible library that imports and processes 3D models in various formats. It provides a unified API for loading meshes, materials, animations, and scene data from files like OBJ, FBX, COLLADA, and many more.
UI & Graphics5 examplesBullet Physics
Bullet Physics is a professional-grade physics simulation library for real-time collision detection, rigid body dynamics, soft body dynamics, and vehicle simulation. It is widely used in games, VR, robotics, and film production.
UI & Graphics5 examplesOGRE
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D rendering engine written in C++. It abstracts low-level graphics APIs like OpenGL and Direct3D, providing a high-level interface for rendering 3D graphics in applications such as games, simulations, and visualizations.
UI & Graphics5 examplesMagnum
Magnum is a lightweight and modular C++11/C++14 graphics middleware for 2D and 3D graphics, game development, and visualization. It builds on top of modern OpenGL, Vulkan, and WebGPU APIs, offering a clean, extensible framework for rendering, math, input, and asset management.
UI & Graphics5 examplesdlib
dlib is a modern C++ toolkit with Python bindings for machine learning and computer vision tasks. It includes algorithms for image processing, object detection, facial landmark detection, and general-purpose machine learning.
AI & Machine Learning6 examplesArmadillo
Armadillo is a high-quality C++ linear algebra library that provides efficient matrix and vector operations, while offering a syntax similar to MATLAB. It is designed for both speed and ease of use, making it popular in scientific computing, machine learning, and signal processing.
AI & Machine Learning5 examplesMLPack
MLPack is a fast, flexible, and scalable C++ machine learning library. It provides a wide range of machine learning algorithms and data science tools with a focus on high performance and ease of use, while also offering bindings for Python, Julia, and other languages.
AI & Machine Learning5 examplesCaffe
Caffe is a deep learning framework made with expression, speed, and modularity in mind. Written in C++, it provides a clean architecture for defining, training, and deploying deep neural networks, with bindings for Python and MATLAB.
AI & Machine Learning5 examplesSOCI
SOCI is a C++ database access library that provides a clean, type-safe, and object-oriented abstraction over SQL databases. It acts like a lightweight ORM but retains full SQL control, offering both simplicity and flexibility.
Databases & Caching5 examplesRocksDB
RocksDB is an embeddable, high-performance, persistent key-value store developed by Facebook. It is based on LevelDB but optimized for fast storage, low-latency access, and high throughput on flash drives and SSDs.
Databases & Caching6 examplesLMDB
LMDB (Lightning Memory-Mapped Database) is a high-performance, memory-mapped key-value store developed by the OpenLDAP project. It is compact, transactional, and highly efficient, designed for read-heavy workloads with low latency.
Databases & Caching5 examplesCap’n Proto
Cap’n Proto is a fast data interchange format and RPC system. It provides schema-based serialization similar to Protocol Buffers, but with zero-copy design, enabling extremely fast message passing and storage.
Serialization & Formats5 examplesFlatBuffers
FlatBuffers is a highly efficient cross-platform serialization library developed by Google. It allows direct access to serialized data without parsing/unpacking, making it ideal for games, mobile apps, and high-performance applications.
Serialization & Formats6 examplesZeroMQ
Brokerless messaging patterns — sockets that speak pub/sub, request/reply and push/pull.
Networking & Concurrency6 examplesgRPC
High-performance RPC over HTTP/2, with generated clients and servers from a schema.
Networking & Concurrency8 exampleslibcurl
The HTTP client behind an enormous share of software — every protocol, every platform.
Web & HTTP6 examplesuWebSockets
uWebSockets is a highly efficient C++ WebSocket and HTTP library designed for scalability and minimal resource usage. It supports millions of concurrent connections and powers some of the largest real-time applications, including trading platforms and messaging systems.
Networking & Concurrency6 examplesIntel oneTBB
Intel oneTBB (Threading Building Blocks) is a C++ template library that simplifies parallel programming by providing high-level abstractions for tasks, parallel loops, pipelines, and concurrent data structures. It enables developers to harness multicore processors efficiently without directly managing threads.
Networking & Concurrency5 examplesOpenMP
OpenMP (Open Multi-Processing) is an API that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran. It provides a set of compiler directives, runtime library routines, and environment variables for parallelizing code easily on multi-core CPUs.
Networking & Concurrency6 examplesHPX
HPX (High Performance ParalleX) is a C++ runtime system for parallel and distributed applications. It provides a standards-conforming API for asynchronous task-based programming, scalability across many cores, and distributed computing with an emphasis on performance portability.
Networking & Concurrency6 examplesGuidelines Support Library (GSL)
The Guidelines Support Library (GSL) is a set of C++ utilities developed to help programmers follow the C++ Core Guidelines. It provides types and functions such as span, not_null, owner, and utilities for safer memory and pointer usage.
Developer Utilities5 examplesEnTT
EnTT is a fast and flexible C++ Entity-Component-System (ECS) library used in game development and simulation. It provides efficient memory management, entity lifecycle handling, component storage, and iteration utilities for building scalable and data-driven applications.
UI & Graphics5 examplesCLI11
CLI11 is a C++11 header-only library for parsing command line arguments. It provides an expressive, modern C++ API for handling flags, options, subcommands, and configuration files with minimal boilerplate.
Developer Utilities5 examplesloctest
loctest is a lightweight and minimal C++ testing framework designed to provide simple and readable unit tests. It focuses on clarity and small binary size, making it a good choice for embedded systems and projects that don’t require heavy testing infrastructure.
Testing4 examplesTrompeloeil
Trompeloeil is a modern C++14 mocking framework for unit testing. It provides a type-safe, expressive API for creating mocks, setting expectations, and verifying interactions between objects.
Testing5 examplesglog (Google Logging Library)
glog is Google’s C++ logging library that provides application-level logging with different severity levels (INFO, WARNING, ERROR, FATAL). It is designed for robustness, simplicity, and performance, making it suitable for large-scale systems.
Observability5 examplesplog
plog is a portable, simple, and extensible C++ logging library. It supports multiple logging destinations, severity levels, thread safety, and works across platforms with minimal dependencies.
Observability4 examples
Coverage by topic
What the C++ ecosystem is deepest in — a reasonable proxy for what the language is used for.
- Developer Utilities10
- Networking & Concurrency6
- AI & Machine Learning5
- UI & Graphics5
- Testing4
- Data & Analytics3
- Databases & Caching3
- Web & HTTP3
- Observability2
- Serialization & Formats2

