OpenFrameworks - A cross platform open source toolkit for creative coding in C++. [MIT] website
Qt⚡ - A cross-platform application and UI framework. [GPL/LGPL/Commercial]
Reason - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2]
ROOT - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL]
Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
frugally-deep - Header-only library for using Keras models in C++. [MIT]
Genann - Simple neural network library in C. [zlib]
MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more website
PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration. website
flashlight - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
Recast/Detour - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
TensorFlow - An open source software library for numerical computation using data flow graphs [Apache]
oneDNN - An open-source cross-platform performance library for deep learning applications. [Apache] website
CNTK - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
tiny-dnn - A header only, dependency-free deep learning framework in C++11. [BSD]
Veles - Distributed platform for rapid Deep learning application development. [Apache]
Asio - A cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. [Boost] website
Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
AudioFile - A simple C++ library for reading and writing audio files. [GPL3]
dr_libs - Single file audio decoding libraries for C and C++. [Unlicense]
FMOD - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
KFR - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial]
LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
libsndfile - C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] website
libsoundio - C library for cross-platform real-time audio input and output. [MIT] website
Maximilian - C++ Audio and Music DSP Library. [MIT]
OpenAL - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]
miniaudio - Single file audio playback and capture library. [Unlicense] website
ni-media - C++ library for reading and writing audio files. [MIT]
Opus - A totally open, royalty-free, highly versatile audio codec. [BSD]
PortAudio - PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT]
SoLoud - Easy, portable audio engine for games. [zlib]
Speex - A free codec for free speech. Obsoleted by Opus. [BSD]
Tonic - Easy and efficient audio synthesis in C++. [Unlicense]
Vorbis - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
minimp3 - Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
Verovio - Verovio is a fast and lightweight music notation engraving library. [LGPL] website
Wav2Letter++ - Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency [BSD]
Biology
Bioinformatics, Genomics, Biotech
BioC++ - C++ Computational Libraries for Bioinformatics. [BSD]
Chaste - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
libsequence - A C++ library for representing and analyzing population genetics data. [GPL]
SeqAn - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
Vcflib - A C++ library for parsing and manipulating VCF files. [MIT]
Wham - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]
libutp - uTorrent Transport Protocol library. [MIT]
Chemistry
Chemistry, Geochemistry, Biochemistry
d-SEAMS - A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] website
gromacs - A message-passing parallel molecular dynamics implementation. [GPL] website
Reaktoro - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] website
LAMMPS - A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] website
CLI
Console/Terminal User Interface, Command Line Interface
Argh! - A minimalist, frustration-free, header-only argument handler. [BSD]
Taywee/args - A simple header-only C++ argument parser library. [MIT]
Boost.Program_options - A library to obtain program options via conventional methods such as command line and config file. [Boost]
Clara - A simple to use, composable, command line parser for C++ 11 and beyond. [BSL-1.0]
cli - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
CLI11 - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
jarro2783/cxxopts - Lightweight C++ command line option parser. [MIT]
docopt.cpp - A library to generate option parser from docstring. [MIT/Boost]
FINAL CUT - Library for creating terminal applications with text-based widgets. [LGPL]
TCLAP - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
termbox - A C library for writing text-based user interfaces. [MIT]
cpp-terminal - Small header only C++ library for writing multiplatform terminal applications. [MIT]
FTXUI - C++ Functional Terminal User Interface. [MIT]
imtui - Immediate Mode Text-based User Interface [MIT]
Compression
Compression and Archiving Libraries
bit7z - A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2]
Brotli - Brotli compression format. Developed by Google. [MIT]
bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
FiniteStateEntropy - New generation entropy codecs : Finite State Entropy and Huff0.
PhysicsFS - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib]
KArchive - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL]
libarchive - Multi-format archive and compression library. [New BSD] website
LZ4 - Extremely Fast Compression algorithm. [BSD] website
LZFSE - LZFSE compression library and command line tool. Developed by Apple.
LZHAM - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
LZMA⚡ - The default and general compression method of 7z format. [PublicDomain]
LZMAT - An extremely fast real-time lossless data compression library. [GPL]
miniz - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
Minizip - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering. [zlib]
Async++ - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
Boost.Compute - A C++ GPU Computing Library for OpenCL. [Boost]
Bolt - A C++ template library optimized for GPUs. [Apache2]
ck - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
Cpp-Taskflow - Fast C++ Parallel Programming with Task Dependencies. [MIT]
CUB - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
cuda-api-wrappers - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
cupla - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
C++React - A reactive programming library for C++11. [Boost]
FiberTaskingLib - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
Intel Games Task Scheduler - A task scheduling framework designed for the needs of game developers. [MIT]
Intel Parallel STL - Intel® implementation of C++17 STL for C++11 and above. [Apache2]
Intel TBB - Intel® Threading Building Blocks. [Apache2]
junction - A library of concurrent data structures in C++. [BSD]
Kokkos - A performance portable programming model for parallel execution and memory abstraction. [BSD]
libcds - A C++ library of Concurrent Data Structures. [BSD]
Libclsph - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
libdill - Introduces structured concurrency in C. [MIT]
libdispatch - Grand Central Dispatch (GCD), developed by Apple Inc., is a task parallelism technology based on the thread pool pattern. libdispatch is a library that provides the implementation of GCD's services. [Apache-2.0] website
libmill - Introduces Go-style concurrency in C. [MIT]
marl - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
moderngpu - moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]
NCCL - Optimized primitives for collective multi-GPU communication. [BSD]
OpenCL - The open standard for parallel programming of heterogeneous systems.
libconfig - C, C++ library for processing structured configuration files. [LGPL-2.1] website
libconfuse - Small configuration file parser library for C. [ISC]
simpleini - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
toml++ - Header-only TOML parser and serializer for C++17 and later. [MIT] website
Containers
C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
Colony - An unordered "bag"-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] website
dynamic_bitset - A C++17 header-only dynamic bitset. [MIT]
Forest - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT]
Hashmaps - Implementation of open addressing hash table algorithms in C++. [MIT]
Hopscotch map - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
PGM-index - A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] website
plf::list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] website
plf::stack - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] website
ring_span lite - A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view. [MIT]
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
robin-map - Fast hash map and hash set using robin hood hashing. [MIT]
sparsepp - A fast, memory efficient hash map for C++. [BSD 3-clause]
Cryptography
Cryptography and Encryption Libraries
Bcrypt - A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD]
BeeCrypt - A portable and fast cryptography library. [LGPLv2.1+]
GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
GnuTLS - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]
Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
LibreSSL - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
mbedTLS - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] website
Nettle - A low-level cryptographic library. [LGPL]
OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] website
retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
s2n - An implementation of the TLS/SSL protocols. [Apache]
sha1collisiondetection - Library and command line tool to detect SHA-1 collision in a file. [MIT]
Tink - A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
Tiny AES in C - Small portable AES128/192/256 in C. [PublicDomain]
Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
CSV
Libraries for parsing Comma Separated Value (CSV) files
VLD - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++.
Font
Libraries for parsing and manipulating font files.
Fontconfig - Font configuration and customization library. [MIT] website
FreeType - FreeType is a freely available software library to render fonts. [FTL & GPLv2]
otfcc - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0]
Game Engine
Acid - A high speed C++17 Vulkan game engine. [MIT]
Allegro - A cross-platform library mainly aimed for video games and multimedia programming. [zlib]
Cocos2d-x - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]
Corange - A game engine written in pure C, SDL and OpenGL. [BSD]
crown - Crown is a general purpose data-driven game engine, written from scratch in orthodox C++ with a minimalistic and data-oriented design philosophy in mind. [MIT]
GamePlay - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
Godot - A fully featured, open source, MIT licensed, game engine. [MIT]
Grit - Community project to build a free game engine for implementing open world 3D games. [MIT]
Halley - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
KlayGE - a cross-platform open source game engine with plugin-based architecture. [GPLv2] website
nCine - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] website
o3de - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] website
OpenXRay - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
Oxygine - A cross-platform 2D C++ game engine. [MIT]
Panda3D - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] website
PixelGameEngine - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]
Polycode - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] website
raylib - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] website
Spring - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] website
Torque2D - An open-source and cross-platform C++ engine built for 2D game development. [MIT] website
Torque3D - An open-source C++ engine built for 3D game development. [MIT] website
toy engine - toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations.
Urho3D - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
NanoGui - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
nuklear - A single-header ANSI C gui library. [PublicDomain]
QCustomPlot - Qt plotting widget without further dependencies. [GPLv3]
Qwt - Qt Widgets for Technical Applications. [Own based on LGPL]
QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
RmlUi - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
Sciter - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]
wxWidgets - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]
xtd - Modern C++17/20 framework to create console (CLI), forms (GUI like WinForms) and tunit (unit tests like Microsoft Unit Testing Framework) applications on Windows, macOS, Linux, iOS and android. [MIT]
Yue - A library for creating native cross-platform GUI apps. [LGPLv2]
Graphics
assimp - Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] website
CImg - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
CxImage - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
Dlib⚡ - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
FreeImage - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]
GD - GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] website
ITK - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
Leptonica - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] website
libfacedetection - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
libjpeg-turbo - A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] website
libvips - A fast image processing library with low memory needs. [LGPL] website
Magick++ - ImageMagick program interfaces for C++. [Apache2]
MagickWnd - ImageMagick program interfaces for C. [Apache2]
Simd - C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM. [MIT]
IBM ICU - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
libiconv - An encoding conversion library between different character encodings. [GPL]
utf8.h - Single header utf8 string functions for C and C++. [Unlicense]
utf8proc - A clean C library for processing UTF-8 Unicode data. [MIT]
Inter-process communication
Apache Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
Cap'n Proto - Fast data interchange format and capability-based RPC system. [MIT] website
parson - Parson is a lighweight json library written in C. [MIT]
PicoJSON - A header-file-only, JSON parser serializer in C++. [BSD]
qt-json - A simple class for parsing JSON data into a QVariant hierarchy and vice versa. [GPLv3]
QJson - A qt-based library that maps JSON data to QVariant objects. [LGPL2]
RapidJSON⚡ - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT]
sajson - Lightweight, extremely high-performance JSON parser for C++11. [MIT]
simdjson - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0]
taoJSON - Zero-dependency C++ header-only JSON library. [MIT]
ujson - µjson is a a small, C++11, UTF-8, JSON library. [MIT]
YAJL - A fast streaming JSON parsing library in C. [ISC]
yyjson - A high performance JSON library written in ANSI C. [MIT]
Logging
Blackhole - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT]
Boost.Log - Designed to be very modular and extensible. [Boost]
Easylogging++ - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
fmtlog - A performant fmtlib-style logging library with latency in nanoseconds. [MIT]
G3log - Asynchronous logger with Dynamic Sinks. [PublicDomain]
glog - C++ implementation of the Google logging module.
Log4cpp - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
log4cplus - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]
loguru - A lightweight C++ logging library. [PublicDomain]
plog - Portable and simple log for C++ in less than 1000 lines of code. [MPL2]
reckless - Low-latency, high-throughput, asynchronous logging library for C++. [MIT]
spdlog - Super fast, header only, C++ logging library.
templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
P7Baical - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
Caffe - A fast framework for neural networks. [BSD]
CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
darknet - Open source neural network framework written in C and CUDA. [PublicDomain] website
Dlib⚡ - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
Fido - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] website
flashlight - A fast, flexible machine learning library from Facebook AI Research written entirely in C++ and based on the ArrayFire tensor library. [BSD-3-Clause] website
libsvm - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] website
m2cgen - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
MeTA - A modern C++ data sciences toolkit. [MIT] website
Minerva - A fast and flexible system for deep learning. [Apache2]
mlpack - A scalable c++ machine learning library. [LGPLv3] website
OpenCV⚡ - Open Source Computer Vision Library. [BSD] website
oneDAL - A powerful machine learning library that helps speed up big data analysis. [Apache]
Recommender - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
RNNLIB - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3]
SHOGUN - The Shogun Machine Learning Toolbox. [GPLv3]
sofia-ml - The suite of fast incremental algorithms for machine learning. [Apache2]
VLFeat - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] website
xgboost - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2]
ncnn - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
Math
Apophenia - A C library for statistical and scientific computing [GPL2]
Armadillo - Fast C++ library for linear algebra & scientific computing. [Apache2] website
autodiff - A modern, fast and expressive C++ library for automatic differentiation. [MIT] website
blaze - high-performance C++ math library for dense and sparse arithmetic. [BSD]
Boost.Multiprecision - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost]
ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
CGAL - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] website
cml - free C++ math library for games and graphics. [Boost]
CXXGraph - free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0]
Dlib⚡ - A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost] website
Eigen - A high-level C++ library of template headers for linear algebra, matrix and vector operations, numerical solvers and related algorithms. [MPL2]
ExprTK - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
Geometric Tools - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] website
GLM - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] website
GMTL - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
GMP - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
Klein - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] website
linalg.h - Single header, public domain, short vector math library for C++. [Unlicense]
MIRACL - A Multiprecision Integer and Rational Arithmetic Cryptographic Library. [AGPL]
NumCpp - A templatized header only C++ implementation of the Python Numpy library. [MIT]
muparser - muParser is an extensible high performance math expression parser library written in C++. [MIT]
LibTomMath - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] website
linmath.h - A lean linear math library, aimed at graphics programming. [WTFPL]
lp_solve - A library used to formulate and solve linear programming problems. [LGPL] website
OpenBLAS - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] website
PCG-rand - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
QuantLib - A free/open-source library for quantitative finance. [Modified BSD] website
StatsLib - A C++ header-only library of statistical distribution functions. [Apache2] website
SymEngine - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT]
TinyExpr - A C library for parsing and evaluating math expressions from strings. [zlib]
Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
Wykobi - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
xtensor - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] website
universal - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license] website
Memory Allocation
Boehm GC - Conservative garbage collector for C and C++. [similar to X11] website
C Smart Pointers - Smart pointers for the (GNU) C programming language. [MIT]
Hoard - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [GPL, commercial] website
jemalloc - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] website
memory - STL compatible C++ memory allocator library. [ZLib]
memory-allocators - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT]
mimalloc - A compact general purpose allocator with excellent performance. [MIT]
tgc - A tiny garbage collector for C written in ~500 LOC. [BSD]
Multimedia
GStreamer - A library for constructing graphs of media-handling components. [LGPL]
libass - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC]
libav - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] website
LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
Restinio - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
c-ares - A C library for asynchronous DNS requests. [MIT]
cpp-httplib - A single file C++11 header-only HTTP/HTTPS server library. [MIT]
cpp-netlib - A collection of open-source libraries for high level network programming. [Boost]
cpp-netlib/uri - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [BSL-1.0]
CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
cpr - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] website
curlcpp - An object oriented C++ wrapper for CURL(libcurl). [MIT]
DPDK - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] website
evpp - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
H2O - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
HTTP Parser⚡ - A http request/response parser for C. [MIT]
KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
libcurl - Multiprotocol file transfer library. [MIT/X derivate license]
libhttpserver - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
Libmicrohttpd - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
libpcap - A portable C/C++ library for network traffic capture. [BSD] website
libquic - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
librdkafka - Apache Kafka client library for C and C++. [BSD-2-Clause]
libwebsockets - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] website
PicoHTTPParser - A tiny, primitive, fast HTTP request/response parser. [MIT]
POCO⚡ - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] website
Proxygen - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
RakNet - A cross platform, open source, C++ networking engine for game programmers. [BSD]
restclient-cpp - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
Seasocks - Simple, small, C++ embeddable webserver with WebSockets support. [BSD]
Silicon - A high performance, middleware oriented C++14 http web framework. [MIT]
tlse - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
Tufão - An asynchronous web framework for C++ built on top of Qt. [LGPL2]
uriparser - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
uWebSockets - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
WAFer - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
Wangle - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
wdt - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
WebSocket++ - C++/Boost Asio based websocket client/server library. [BSD]
PcapPlusPlus - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
ZeroMQ - High-speed, modular asynchronous communication library. [LGPL] website
PDF
Libraries for parsing and manipulating PDF documents.
libharu - A free, cross platform, open-sourced software library for generating PDF. [zlib]
litePDF - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
MuPDF - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial]
PoDoFo - A library to work with the PDF file format. [LGPL]
Poppler - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
Xpdf - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
DynaPDF - An easy-to-use PDF generation library. [Commercial]
Bullet - A 3D physics engine for games. [zlib] website
Chipmunk - A fast and lightweight 2D game physics library. [MIT] website
LiquidFun - A 2D physics engine for games. [BSD-like]
Newton Dynamics - An integrated solution for real time simulation of physics environments. [zlib]
ODE - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
Kratos - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] website
ofxBox2d - openFrameworks wrapper for Box2D. [BSD-like]
PhysX - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
Project Chrono - An open source multi-physics simulation engine. [BSD-3-Clause] website
Quantum++ - A modern C++11 quantum computing library. [MIT]
Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
SOFA - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] website
Reflection
config-loader - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
Magic Enum - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
magic_get - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
meta - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
Nameof - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
CTRE - A Compile time PCRE (almost) compatible regular expression matcher. [MIT]
Hyperscan - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD]
Oniguruma - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
PCRE - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
PIRE - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
RE2 - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
SLRE - Super Light Regexp engine for C/C++. [GPLv2/Commercial]
sregex - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]
Robotics
MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
Torch - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] website
Scripting
AngelScript - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
Boost.Python - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost]
cppimport - Import C++ files directly from Python! [MIT]
CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
ChaiScript - An easy to use embedded scripting language for C++. [BSD] website
ctypes.sh - A foreign function interface for bash. [MIT]
Cython - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] website
djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
Duktape - An embeddable Javascript engine with compact footprint. [MIT] website
JavaCpp - The missing bridge between Java and native C++. [Apache2]
libffi - A portable foreign-function interface library. [MIT] website
Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
LuaBridge - A lightweight, dependency-free library for binding Lua to C++. [MIT]
luacxx - C++11 API for creating Lua bindings. [MIT]
nbind - Magical headers that make your C++ library accessible from JavaScript. [MIT]
PHP-CPP - A library to build PHP extensions with C++. [Apache2] website
pybind11 - Seamless operability between C++11 and Python. [BSD]
SIP - C or C++ Bindings Generator for Python v2 and v3. [GPL]
sol2 - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
SWIG - A wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] website
cista - A C++17 library for zero-copy high-performance (de-)serialization. [MIT]
cppcodec - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
FastBinaryEncoding - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
FlatBuffers - A Memory efficient serialization library. [Apache2]
MessagePack - Efficient binary serialization format "like JSON" for C and C++. [Apache2] website
Timsort - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
Indiesort - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] website
Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
QDjango - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
TreeFrog Framework - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] website
Wt - A C++ library for developing web applications. [GPL/Commercial]
XML
XML is crap. Really. There are no excuses. XML is nasty to parse for humans, and it's a disaster to parse even for computers. There's just no reason for that horrible crap to exist. - Linus Torvalds
Boost.PropertyTree - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]
Useful libraries or tools that don't fit in the categories above or maybe just not categorised yet
access_profiler - A tool to count accesses to member variables in c++ programs. [GPL3]
American fuzzy lop a.k.a. afl-fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2]
Better String - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2]
Boost.Signals - An implementation of a managed signals and slots system. [Boost]
CPPItertools - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
DynaMix - A library which allows you to compose and modify objects at run time. [MIT]
{fmt}⚡ - Small, safe and fast formatting library for C++. [Simplified BSD]
FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD]
casacore - A set of c++ core libraries derived from aips++. [LGPL]
QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
cxx-prettyprint - A pretty printing library for C++ containers. [Boost]
icecream-cpp - A small printing library for debugging purposes. [MIT]
gcc-poison - A simple header file for developers to ban unsafe C/C++ functions from applications.
Kangaru - A dependency injection container for C++11 and C++14. [MIT]
Klib - Small and lightweight implementations of common algorithms and data structures. [MIT]
libsigc++ - A typesafe callback system for standard C++. [LGPL] website
libcpuid - A small C library for x86 CPU detection and feature extraction. [BSD]
YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
cquery - A C++ code completion engine for vscode, emacs, vim, etc.
Build Systems
Bazel - A multi-language, fast and scalable build system from Google. [Apache]
Bear - A tool to generate compilation database for clang tooling. [GPLv3]
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
clib - Package manager for the C programming language. [MIT]
CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
Conan - C/C++ Package Manager, open sourced. [MIT]
CPM - A C++ Package Manager based on CMake and Git.
FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
Hunter - CMake driven cross-platform package manager for C++. [BSD-2]
MesonBuild - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
Ninja - A small build system with a focus on speed.
Scons - A software construction tool configured with a Python script.
Sconsolidator - Scons build system integration for Eclipse CDT.
Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
tundra - High-performance code build system designed to give the best possible incremental build times even for very large software projects.
tup - File-based build system that monitors in the background for changed files.
Premake - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.
Vcpkg - C++ library manager for Windows, Linux, and MacOS. [MIT]
waf - Python-based framework for configuring, compiling and installing applications. [BSD] website
XMake - A C/C++ cross-platform build utility based on Lua. [Apache]
Static Code Analysis
List of tools for improving quality and reducing defects by code analysis
Cppcheck - A tool for static C/C++ code analysis. - source
CppDepend - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
cpplint - A C++ style checker following Google's C++ style guide.
PVS-Studio - A tool for bug detection in the source code of programs, written in C, C++ and C#.
cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]