Namespaces
Variants
Views
Actions

A list of open source C++ libraries

From cppreference.com
< cpp‎ | links

The objective of this page is to build a comprehensive list of open source C++ libraries, so that when one needs an implementation of particular functionality, one needn't to waste time searching on web (DuckDuckGo, Google, Bing etc.).

If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that the source of the library must be readily available to download.

The page is provided 'as is' - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you've noticed one of these, it would be great if you fixed the error.

Contents

[edit] Package managers

[edit] Audio

Library Description License Configuration
soundtouch
KFR Fast, modern DSP framework, DFT/FFT, Audio resampling, FIR/IIR filters, Biquad
Aquila cross-platform DSP library
FFTW library for computing the DFT
Fingerprinting
Library Description License Configuration
chromaprint
libofa
libmusicbrainz
Formats
Library Description License Configuration
audiofile
flac
libsndfile
Tagging
Library Description License Configuration
id3lib
taglib
CD
Library Description License Configuration
libkcompactdisc

[edit] Benchmarking

Library Description License Configuration
Celero Apache License CMake
benchmark A library to benchmark code snippets, similar to unit tests Apache License 2.0 CMake
gperftools 'Google Performance Tools' includes a high-performance, multi-threaded malloc implementation plus tools for benchmarking heap allocation and CPU utilization. BSD 3-Clause "New" or "Revised" License configure
plf::nanotimer Lowest-overhead, cross-platform simple timer class for benchmarking. zlib license

[edit] Communication

Library Description License Configuration
sockpp A simple, modern C++ socket library BSD 3-Clause "New" or "Revised" License CMake
libnavajo C++ framework including a fast multithreaded http server, HTML5 Websockets, SSL, X509 and HTTP authentification, compression, cookies and advanced session management, IPv4 and IPv6 (CeCILL-C). CeCILL-C FREE SOFTWARE LICENSE AGREEMENT CMake
C++ RESTful framework C++ micro-framework designed to be embedded into a wide range of applications. CMake
C++ REST SDK asynchronous HTTP client and listener, asynchronous Stream, URI, JSON MIT License CMake
cpr a modern C++ HTTP requests library MIT License CMake
cpp-netlib cpp-netlib: The C++ Network Library Boost Software License 1.0 CMake
tacopie C++11 TCP Library MIT License CMake
Boost.Asio asynchronous and synchronous networking, timers, serial I/O
Boost.Beast HTTP and WebSocket library built on top of Boost.Asio
gsoap C/C++ development toolkit for XML data bindings, fast WSDL/SOAP/XML Web services, WS-Security, JSON/XML-RPC RESTful services
POCO networking: encryption, HTTP; Zip files
omniORB the fastest, complete and portable CORBA ORB implementation in C++
ACE asynchronous networking, event demultiplexing, messaging
TAO CORBA
wvstreams
Unicomm asynchronous networking, high-level TCP communication framework
restful_mapper ORM for consuming RESTful JSON APIs in C++ CMake, Makefile
Paho MQTT Modern C++ client for MQTT from Eclipse CMake
zeromq fast message queue
nanomsg fast message queue, zeromq successor
nng fast message queue, nanomsg successor
curlpp C++ wrapper for CURL library
Apache Thrift The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
libashttp asynchronous HTTP client library GNU Lesser General Public License v3.0
Simple C++ REST library Very simple and self documenting library for creating a REST API in your c++ application
libtins Network packet crafting and sniffing library
PcapPlusPlus Multiplatform C++ network sniffing and packet parsing and crafting framework
HTTPP Simple, production ready HTTP server built on top of Boost and a client built on top of libcurl. BSD 2-Clause "Simplified" License CMake, Makefile
The Silicon C++14 Web Framework Fast and Robust Web APIs MIT
ngrest Fast and easy in use JSON RESTful Web Services Framework Apache License 2.0 CMake
restc-cpp Takes the pain out of accessing JSON API's from C++. HTTP Client, native C++ class to/from JSON serialization, asynchronous IO trough boost::asio coroutines. C++14. MIT License CMake
OpenDDS DDS implementation
Breep Event based, high-level, peer-to-peer library, allowing users to directly send and receive objects. European Union Public License 1.1 CMake
uvw libuv wrapper in modern C++ MIT License CMake
rest_rpc modern, simple, easy to use rpc framework CMake
EasyHttp A cross-platform HTTP client library with a focus on usability and speed, supporting http response caching and more. MIT License CMake
nghttp2 HTTP/2 C Library and tools (server, client, proxy and benchmarking tools) MIT License CMake, configure
IXWebSocket Open-source WebSocket + HTTP library without dependency, supports SSL and the per message deflate WebSocket extension. BSD 3-Clause "New" or "Revised" License CMake, Makefile
KCP A fast and reliable ARQ protocol that helps applications to reduce network latency. MIT License CMake
gRPC gRPC is a modern open source high performance RPC framework that can run in any environment.
seastar High performance server-side application framework, based on C++14/C++17. Apache License 2.0 CMake, etc.
stream-client Lightweight, header-only, Boost-based client-side socket/connector/socket pool/resolver Apache License 2.0 CMake
eCAL high performance inter-process communication Apache License 2.0 CMake
fineftp-server ftp server library for windows and unix MIT License CMake

[edit] Concurrency

Library Description License Configuration
Intel TBB
OpenMP
Taskflow Parallel Task Programming in Modern C++
RaftLib C++ stream like concurrent actors
Thrust STL-like algorithms and data-structures for CUDA
ViennaCL Linear algebra and algorithms with OpenMP, CUDA, and OpenCL backends
VexCL C++ expression templates library for OpenCL and CUDA
hipSYCL provides a clang-based toolchain and a runtime SYCL implementation that can run on multiple target devices (NVIDIA/AMD GPU,s CPU)
Boost.Compute (unofficial) STL-like algorithms and data-structures for OpenCL
Boost.Interprocess
Boost.Thread
Boost.Atomic
Boost.Lockfree
Boost.MPI
Boost.Context
libopenmpi
libsimdpp
HPX A general purpose C++ runtime system for parallel and distributed applications of any scale
KOKKOS A programming model in C++ for writing performance portable HPC applications
SObjectizer A small framework for simplification of development of concurrent and event-driven applications in C++ by using actor and publish-subscribe models.
BlockingCollection A C++11 thread safe collection class modeled after .NET BlockingCollection.
Xenium A header-only library providing various concurrent data structures and reclamation schemes.
subprocess a cross platform library for running subprocesses.

[edit] Configuration

Library Description License Configuration
gconfmm
libconfig
libconfini INI parser
Boost.Program_options
XML
Library Description License Configuration
libxml++
pugixml
tinyxml
tinyxml2 Another and work in progress of TinyXML.
Xerces
gSOAP XML data bindings
ai-xml Serialize objects to and from XML by adding a single, minimal, function to a class. Uses libxml++ under the hood.
GPDS General purpose data serializer to serialize objects to and from XML. Uses TinyXML under the hood.
JSON
Library Description License Configuration
json Niels Lohmann JSON
ArduinoJson ArduinoJson
jsonme--
ThorsSerializer (JSON/YAML Input Output Streams)
JsonBox
jsoncpp
zoolib
JOST
CAJUN
libjson
nosjob
rapidjson
jsoncons A header-only library for JSON and JSON-like data formats, with JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON.
JSON++
qjson
json-cpp
jansson Jansson is C library for encoding, decoding and manipulating JSON data.
json11 json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
JSON Voorhees Killer JSON for C++
jeayeson A very sane (header only) C++14 JSON library
ujson µjson is a small, C++11, UTF-8, JSON library
minijson C++ DOM-less and allocation-free JSON parsing and serialization
jios (JSON Input Output Streams)
simdjson Parsing gigabytes of JSON per second
struct_mapping Mapping json to and from a c++ structure
YAML
Library Description License Configuration
yaml-cpp
TOML
Library Description License Configuration
toml11 TOML parsing library based on C++11
toml++ TOML parser and serializer for C++17 and later
HOCON
Library Description License Configuration
cpp-hocon The C++ implementation of the HOCON format developed by Pupplet.
CSS
Library Description License Configuration
mycss CSS Parser

[edit] Containers

Library Description License Configuration
Boost.Any
Boost.Array
Boost.Bimap
Boost.Container
Boost.Fusion
Boost.Heap
Boost.Pointer Container
Boost.Tuple
Boost.Variant
cpp-btree btree_map, btree_set, btree_multimap, btree_multiset.
TdhLists
strict_variant A fast, never-empty variant targetting C++11. Prevents many undesirable implicit conversions.
eggs::variant Eggs.Variant is a C++11/14 generic, type-safe, discriminated union. It is notable in particular for having very good `constexpr` support.
Ygg An intrusive C++11 implementation of high-performance containers and data structures such as a Red-Black-Tree, an Interval Tree and an Interval Map.
plf::list std::list implementation which sacrifices range-splicing for cache-friendliness, yielding faster insertion, erasure and iteration.
plf::stack Drop-in replacement container for the std::stack container adaptor with better performance than std::vector and std::deque in a stack context.
plf::colony Unordered "bag-like" container which outperforms std:: containers in high-modification scenarios while maintaining valid pointers to non-erased elements regardless of insertion and erasure.
ring_span A simplified implementation of Arthur O'Dwyer's ring_span - ie. a circular buffer view.
Frozen constexpr perfect-hashing-based frozen sets and maps Apache 2.0
DataFrame C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved BSD-3-Clause CMake, Makefile, Conan

[edit] Cryptography

Library Description License Configuration
Botan
gnutls
openssl
crypto++
TomCrypt

[edit] Databases

Library Description License Configuration
redis-plus-plus A Redis client written in C++ 11, and supports Redis Sentinel, Redis Cluster, pipeline, transaction, pubsub, connection pool and STL-like interface
cpp-redis C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform.
redis-cpp C++17 Lightweight C++ client header-only library for executing Redis commands.
OTL
DTL
libpqxx
lmdb++ C++11 wrapper for the LMDB embedded B+ tree database library.
mongocxx C++11 driver library for MongoDB
mysql++
ODB - C++ Object-Relational Mapping (ORM)
Pgfe - PostGres FrontEnd The modern C++ client API to PostgreSQL
QUINCE: QUeries IN C++ Expressions (ORM+EDSL)
QxOrm - C++ Qt Object-Relational Mapping (ORM)
SOCI
sqlpp11
SQLAPI++
SQLiteCPP
EasyQtSql A lightweight header-only C++11 library for quick and easy SQL querying with QtSql
LevelDB A C++ library developed by Google that handles billion-scale Key-Value data persistence storage.
QTL A friendly and lightweight C++ database library for MySQL, SQLite and ODBC.

[edit] Embedded languages bindings

Library Description License Configuration
ChaiScript
ExprTk
lua
sol2
AngelScript a scripting language like C++.
Jinx Scripting language designed for videogames.
mozjs
muparser
PythonQt
ScriptCaller a header only library allowing us to call ruby scripts.
v8pp Bind C++ functions and classes into V8 JavaScript engine

[edit] Embedded/realtime

Library Description License Configuration
QP/C++ RTOS kernel, dual GPL
ETL - Embedded Template Library C++ 03, Portable template library tailored for low resource platforms
distortos object-oriented C++ RTOS for microcontrollers
µcuREST C++11 REST/JSON server framework for microcontrollers

[edit] File metadata

Library Description License Configuration
libkexiv2
exiv2
exempi
rarian

[edit] Financial Calculations

Library Description License Configuration
QuantLib - Quantitative finance library
DataFrame C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved BSD-3-Clause CMake, Makefile, Conan

[edit] Game Engine Architecture

Library Description License Configuration
EntityX
Anax
EntityPlus
EnTT
BOX2D Physics engine

[edit] General Multimedia

Library Description License Configuration
SFML (Simple and Fast Multimedia Library)
SDL (Simple DirectMedia Layer) cross-platform, low level access to audio, keyboard, mouse, joystick, and graphics hardware via that platform's graphics API (usually OpenGL or Direct3D) zlib license
SIGIL (Sound, Input, and Graphics Integration Library) mind-bogglingly simple, cross-platform, minimalist library for text, shapes, input, audio, and 2D images
openFrameworks
Kigs-framework Modular Multi-purpose Cross Platform Framework MIT license

[edit] Generic

Library Description License Configuration
Abseil
Boost large collection of generic libraries Boost License
GSL Guidelines Support library implementation, recommended by Bjarne Stroustrup, Herb Sutter and Co in C++ Core Guidelines
BDE The Bloomberg Development Environment core libraries from Bloomberg L.P. Apache License
Cinder
Dlib networking, threads, graphical interfaces, data structures, linear algebra, machine learning, XML and text parsing, numerical optimization, Bayesian nets, and numerous other tasks Boost License
JUCE An extensive, mature, cross-platform C++ toolkit GPL License
Loki design patterns
Reason xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression GPL License
yomm2 Open multi-methods for C++17 Boost License
Folly Facebook open-source library. Library of C++11 components designed with practicality and efficiency in mind.
Abseil An open-source collection of C++ library code from Google designed to augment the C++ standard library.
cxxomfort Backports of C++ features (C++11 to C++03 and C++1y proposals to C++11/C++03).
libsourcey Cross-platform C++11 library for high speed networking and media encoding. HTTP, WebSockets, TURN, STUN, Symple and more...
OnPosix C++ library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms.
Ultimate++ Cross-platform rapid application development framework
CAF The C++ Actor Framework (CAF) is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more BSD License
cpp-mmf A C++98 library that encapsulates memory-mapped-files for POSIX or Windows
CommonPP Multi-purpose library with a strong emphasis on getting metrics out of a project. BSD License
Better Enums Reflective enums (enum to string, iteration, etc.) with constexpr support. BSD License
Smart Enum "to_string", "from_string" and more for your enums. Boost License
nytl Generic C++17 header-only utility template library. Boost License
SaferCPlusPlus SaferCPlusPlus - Safe compatible substitutes for unsafe C++ primitives, including pointers, int and std::vector. Boost License
fcppt Freundlich's C++ Toolkit (fcppt) is a collection of libraries focusing on improving general C++ code by providing better types and making use of functional programming.
bitfield.h Bit field structure facility, more portable/flexible than the base language facility.
composite_op.h Basic class data member introspection, cumbersome and often non-re-entrant, but sometimes useful.
Abstract Intrusive Containers More flexible than boost::intrusive, but not STL-compatible.
Yato Modern C++(14/17) cross-platform STL-styled and STL-compatible library with implementing containers, ranges, iterators, type traits and other tools; actors system; type-safe config interface. Apache-2.0
Kangaru A dependency injection container for C++11 and C++14 MIT License
yaal algorithms, collections, arbitrary precision calculation, generic-DSL grammar driven parsers and more (CC BY-ND-NC 4.0)
gsl-lite A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later MIT License
nonstd-lite Parent of *-lite repositories, a migration path to post-C++11 features for pre-C++11 environments Boost License
units A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies MIT License

[edit] GPS

Library Description License Configuration
gpsd

[edit] Graphic user interface

Library Description License Configuration
Dear ImGui A bloat-free graphical user interface library that is highly optimized.
FLTK
nana GUI programming in modern C++ style (Boost License)
nanogui Minimalistic cross-platform widget library for OpenGL 3.x or higher
WxWidgets
OWLNext Modern update to OWL for writing GUI applications in standard C++ on Windows
tiny file dialogs a single C C++ cross-platform file (no init, no main loop, 6 modal function calls)
CopperSpice
Library Description License Configuration
CopperSpice CopperSpice is a set of C++ libraries used to develop cross-platform software applications. It is released under the LGPL V2.1 license. It uses modern idiomatic C++ and integrates seamlessly with the STL. CopperSpice was derived from the Qt framework.
CsSignal Standalone C++ thread aware signal/slot library
CsString Standalone C++ unicode aware string library
libGuarded Standalone C++ multithreading library for managing access to shared data
GTK+
Library Description License Configuration
glibmm
gtkmm
goocanvasmm
libglademm
libgnomecanvasmm
webkitgtk
flowcanvas
evince
Qt
Library Description License Configuration
Qt
qwtplot3d
qwt5 Qt Widgets for Technical Applications
libdbusmenu-qt
QuickQanava C++14 library for drawing directed graphs in a Qt/QML application; project homepage: http://www.qanava.org
QuickProperties C++/QML library for QObject/QtObject properties edition; project homepage: http://www.qanava.org

[edit] Graphics

Library Description License Configuration
cairomm
nux
pangomm
gegl
nanovg 2D drawing library based on openGL/DX/metal.
bgfx Powerful cross-platform graphics rendering library, support platforms include Windows Mac Linux iOS Android Web, rendering backend including DX, opengl, metal webgl and so on.

[edit] Images

Library Description License Configuration
stb
Adobe/boost GIL high-level generic library, focused on algorithms that operate on 2D images. Very limited I/O options.
GraphicsMagick Reading, writing, and manipulating images in over 88 major formats. Forked from ImageMagick in 2002
Skia Graphics Engine Google's core graphics library as of 2005, used in Chrome, Chrome OS, Android, and also in Firefox and Sublime Text enwiki:Skia_Graphics_Engine
Anti-Grain Evolution cross-platform 2D rasterization and rendering engine
Plotting
Library Description License Configuration
plotutils
Formats
Library Description License Configuration
Kaitai Struct C++ runtime
libraw
openexr
qimageblitz
imagemagick
djvulibre
poppler
SVG++

[edit] Graphics (3D)

Library Description License Configuration
Vulkan
OpenGL
bgfx Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Ogre3D
Diligent Engine A modern cross-platform low-level 3D graphics library.
GLEW OpenGL function loading
GLAD Customizable, lightweight library for loading OpenGL functions
Epoxy Modern successor to GLEW. Abstracts difference between some kinds of GL contexts, which makes it sometimes simpler to use than GLEW. Used by GTK+ project since 2015.
GLFW OpenGL window manager
GLM Header only C++ mathematics library for rendering
hlsl++ Header only C++ math library for rendering using hlsl syntax. Supports SSE and NEON
klein C++11/14/17 SSE-optimized Projective Geometric Algebra library for graphics and animation
assimp 3D model loading
VTK
Magnum Lightweight and modular C++11/C++14 graphics middleware for games and data visualization
Irrlicht
Horde3D
Visionaray A C++ ray tracing template library
Open CASCADE SDK for 3D CAD/CAM/CAE applications
OpenSceneGraph

[edit] Image Processing

Library Description License Configuration
opencv
dlib
ITK
OTB

[edit] Internationalization

Library Description License Configuration
IBM ICU
gettext
spirit-po A small, header-only library which parses po-files and provides an interface similar to GNU libintl. Based on boost::spirit.

[edit] Logging

Library Description License Configuration
Log4cpp A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations (LGPL)
Log4cplus Logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration.
spdlog Super fast, header only, C++ logging library
plog Portable and simple log for C++ in less than 1000 lines of code (MPL2)
Boost.Log
glog Google Logging Library
log4cxx Apache log4cxx is a logging framework for C++ patterned after Apache log4j
Pantheios Diagnostic Logging API library, offering a combination of type-safety, efficiency, genericity and extensibility
Backward Printing nice Python-styled stack traces with colors and source snippets, especially on crashes (MIT License).
Quill C++14 Asynchronous Low Latency Logging Library

[edit] Math

Library Description License Configuration
stats++ Advanced, comprehensive statistical software: data collection and preprocessing, statistics, machine learning, and optimization, with open C++ source code.
StatsLib A templated, header-only library of statistical distribution functions.
alglib
ArrayFire High Performance Computation Library
GNU MP bignum C++ interface
BigNumber C++ class for creating and computing arbitrary-length integers
Boost.Multiprecision
Boost.Math.Special Functions and Statistical Distributions
Boost.Random
NTL - A Library for doing Number Theory
cpp-measures A header-only C++11 library to handle physical measures
G+Smo cross-platform library for isogeometric analysis
C++ Matrix High performance and accurate (e.g. edge cases) matrix math library with expression template arithmetic operators BSD-3-Clause CMake, Makefile
SEMT Compile time symbolic differentiation
CasADi Symbolic framework for nonlinear optimization and algorithmic differentiation. Supports C++ code generation for symbolic expressions and dynamic connection of compiled generated code.
Numeral Calculations
Library Description License Configuration
LibBF An arbitrary precision numerical calculation library developed by Bellard with a sample program that calculates pi to billions of bits
Linear algebra
Library Description License Configuration
Boost.uBLAS
Eigen
Armadillo
Blitz++
IT++
Dlib - linear algebra tools
Blaze
ETL
DecompLib A header-only C++11 library to decompose a vector into a set of positive definite weighted basis vectors.
xtensor xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. (BSD)
PETSc A suite of data structures and routines for the parallel solution of scientific applications modeled by partial differential equations. It supports MPI, and GPUs through CUDA or OpenCL, as well as hybrid MPI-GPU.
Optimization
Library Description License Configuration
OptimLib A C++11 library of numerical optimization methods for nonlinear functions.
ceres-solver C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. (BSD)
Graph theory
Library Description License Configuration
Boost.Graph
LEMON
OGDF - Open Graph Drawing Framework
NGraph - a simple (Network) Graph library in C++
GTpo C++14 generic graph topology library with Protocol Buffer serialization; project homepage: http://www.qanava.org
Class Library for Numbers
Library Description License Configuration
cln
Universal A C++ template library for universal number arithmetic, replacing IEEE floating point (MIT License)
Machine Learning
Library Description License Configuration
stats++
liblinear
Dlib machine learning tools
MLPACK machine learning package
Shogun large scale machine learning toolbox
FANN Fast Artificial Neural Network Library
Computational geometry
Library Description License Configuration
CGAL Computational geometry algorithms library
Wykobi Computational geometry library
PCL Point Cloud library
pmp-library Polygon Mesh Processing Library
Automata theory
Library Description License Configuration
yasmine - C++11 UML state machine framework

[edit] Metaprogramming

Library Description License Configuration
Boost.MPL Original metaprogramming library, targeted at C++03, slow
Boost.Hana New metaprogramming library for both types and values
Boost.Mp11
Boost.CallableTraits
Metal Uses eager metafunctions, 100% SFINAE-friendly
Brigand Uses eager metafunctions, optimized for best performance
Meta Uses eager metafunctions, middle ground between metal and brigand wrt performance
Boost.Metaparse Compile-time parser library, producing types, values, and metafunctions from compile-time strings
Boost.Proto A library for building expression template-backed EDSLs
CoMeta Lightweight, header-only C++14 metaprogramming library
visit_struct A miniature reflection library, providing structure visitors for C++11/14. Self-contained, 200-400 lines of code depending how you count.
refl-cpp A modern compile-time reflection library for C++ with support for overloads, templates, attributes and proxies

[edit] PDF

Library Description License Configuration
HARU
PoDoFo
JagPDF

[edit] Physics and Simulations

Library Description License Configuration
ReactPhysics3D C++ physics engine library for 3D simulations and game
ProjectCHRONO An Open Source Multi-physics Simulation Engine
Bullet Physics simulation for games, visual effects, robotics and reinforcement learning

[edit] Serialization

Library Description License Configuration
Boost.Serialization
libs11n
sweet_persist
protobuf
gSOAP accurate XML serialization
C++ XML objects
yaml-cpp
YAS (Yet Another Serialization)
cereal (C++11 serialization)
jios (JSON serialization)
ThorsSerializer (JSON/YAML Input Output Streams)
iguana (universal serialization engine)
cppcodec Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API (MIT License)
rpnx-serial A library that can (de)serialize types like std::map, std::vector, etc.
GPDS General purpose data serializer to serialize objects
Binary serialization
to and from XML. Uses TinyXML under the hood.
Library Description License Configuration
UBjsonCpp High-performance UBJson read-write library based on C++14
binn A binary serialization library designed to be compact, fast, and easy to use, itself an implementation of the same name format.
bson-cxx C++ implementation in BSON format.
fast_ber High-performance serialization using BER/DER encoding rules. Encoding layout is defined by ASN.1 schemas. Follows modern C++ practices, written in C++11.

[edit] Sorting

Library Description License Configuration
Timsort Templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. (MIT)
Indiesort Templated sort-wrapper function which allows use of std::sort (and other random-access sort methods) with non-random-access containers. It also increases the performance of sorting large types in random-access containers and arrays (zLib)

[edit] System

Library Description License Configuration
Infoware C++ Library for pulling system and hardware information, without hitting the command line. (Creative Commons Zero v1.0 Universal)

[edit] Terminal

Library Description License Configuration
cwidget
replxx A readline and libedit replacement that supports UTF-8, syntax highlighting & hints.

[edit] Testing

Library Description License Configuration
Boost.Test
cppunit
Google Test
Catch2
doctest The lightest feature-rich C++ single-header testing framework for unit tests and TDD
lest A modern, C++11-native, single-file header-only, tiny framework for unit-tests, TDD and BDD (includes C++98 variant).
liblittletest Portable, one file header-only testing framework
ELFspy Testing in isolation with fakes and spies - Linux only
xtd.tunit Modern c++17 unit testing library on Windows, macOS, Linux, iOS and android. Office site
bandit Human-friendly unit testing for C++11

[edit] Text

coding
Library Description License Configuration
uchardet The ability to guess string encoding is basically the same as the uchardet function in Python.
win-iconv The character set encoding conversion library for Linux and Mac The Windows implementation of iconv is based on the Win32 Character Set Conversion API.
format
Library Description License Configuration
fmt printf is not easy to use, ostream is not easy to use, format is easy to use
Parse
Library Description License Configuration
PEGTL Parsing Expression Grammar Template Library
BNFlite A single file header only lightweight grammar parser library
Search
Library Description License Configuration
clucene
xapian
Step Ukkonen's online algorithm for constructing suffix tree, Manber's algorithm for constructing suffix array.
Template Engine
Library Description License Configuration
inja A Template Engine for Modern C++
Jinja2C++ Modern C++ implementation of Jinja2 templates

[edit] Version Control

Library Description License Configuration
LibGit2 Version Control System Git's core library.
coo-semver The C++ operation library for semantic version numbers.

[edit] Video

Library Description License Configuration
crystalhd
mjpegtools
libmatroska
libVLC
gstreamermm

[edit] Web

Library Description License Configuration
libnavajo
libmusicbrainz5
liblastfm
libkcddb
Chromium Embedded
QtWebApp HTTP(s) Server in C++ inspired by Java Servlets
Wt
Tufão
libhttpserver
cpp-jwt
oatpp Light and powerful web-framework for IoT and high-performance web-services. Zero-dependency and easy-portable.
Drogon A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows.

[edit] See also

C documentation for Non-ANSI/ISO Libraries