Awesome Lists

awesome-cpp

by fffaraz

awesome listpushed almost 2 years ago

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

AI summary

C++ framework repository

A curated collection of C++ frameworks, libraries, and resources

stars
60.6K
forks
7.9K
watching
2K
awesome lists
22
entries
1,199
View on GitHubfffaraz.github.io/awesome-cpp

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/fffaraz/awesome-cpp/links.svg)](https://awesome.facts.dev/awesome/fffaraz/awesome-cpp)
HTML
<a href="https://awesome.facts.dev/awesome/fffaraz/awesome-cpp"><img src="https://awesome.facts.dev/shield/fffaraz/awesome-cpp/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/fffaraz/awesome-cpp/links.svg

What's in the list

1,199 links in 71 sections, with live GitHub stats.activeno commit in 2y

Standard Libraries

Frameworks

  • abseil-cpp

    Abseil C++ Common Libraries. [Apache2]

  • Apache C++ Standard Library

    STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]

  • APR

    Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]

  • ASL

    Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]

  • Boost

    A large collection of generic C++ libraries. [Boost]

  • BDE

    The BDE Development Environment from Bloomberg Labs. [Apache2]

  • C++ Workflow

    C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]

  • CGraph

    A cross-platform DAG framework based on C++ without any 3rd-party. [MIT]

  • Cinder

    A community-developed, free and open source library for professional-quality creative coding. [BSD]

  • Coost

    A tiny boost library in C++11. [MIT]

  • Cxxomfort

    A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]

  • Dlib

    A toolkit for making real world machine learning and data analysis applications in C++. [Boost]

  • EASTL

    Electronic Arts Standard Template Library. [BSD]

  • ETL

    Embedded Template Library. [MIT]

  • ffead-cpp

    Framework for Enterprise Application Development. [Apache2]

  • Folly

    An open-source C++ library developed and used at Facebook. [Apache2]

  • FunctionalPlus

    Functional Programming Library for C++. Write concise and readable C++ code. [MIT]

  • GLib

    GLib provides the core application building blocks for libraries and applications written in C. [LGPL]

  • itlib

    A collection of std-like single-header C++ libraries [MIT]

  • JUCE

    An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary]

  • Kigs framework

    A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT]

  • libPhenom

    libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]

  • LibSourcey

    C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]

  • LibU

    A multiplatform utility library written in C. [BSD]

  • libxutils

    Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]

  • Loki

    A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]

  • MiLi

    Minimal headers-only C++ Library. [Boost]

  • OpenFrameworks

    A cross platform open source toolkit for creative coding in C++. [MIT]

  • Qt

    A cross-platform application and UI framework. [GPL/LGPL/Proprietary]

  • 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]

  • rpp

    Minimal Rust-inspired C++20 STL replacement. [MIT]

  • SaneCppLibraries

    a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT]

  • Seastar

    An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License]

  • STLport

    An exemplary version of STL. [Free]

  • STXXL

    Standard Template Library for Extra Large Data Sets. [Boost]

  • tbox

    A glib-like multi-platform c library. [Apache2]

  • Ultimate++

    A C++ cross-platform rapid application development framework. [BSD]

  • Windows Template Library

    A C++ library for developing Windows applications and UI components. [Public]

  • Yomm2

    Fast, Orthogonal, Open multi-methods. Supersedes [Boost]

Artificial Intelligence

  • ANNetGPGPU

    A GPU (CUDA) based Artificial Neural Network library. [LGPL]

  • btsk

    Game Behavior Tree Starter Kit. [zlib]

  • 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

  • PyTorch

    Tensors and Dynamic neural networks in Python with strong GPU acceleration

  • 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]

  • 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]

  • Kaldi

    Toolkit for speech recognition. [Apache]

Asynchronous Event Loop

  • 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]

  • Boost.Asio

    A cross-platform C++ library for network and low-level I/O programming. [Boost]

  • C++ Actor Framework

    An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause]

  • Ichor

    An event queue which focuses on thread safety and provides dependency injection. [MIT]

  • libev

    A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]

  • libevent

    An event notification library. [BSD]

  • libhv

    Cross-platform event loop library. [BSD]

  • libuv

    Cross-platform asynchronous I/O. [BSD]

  • promise-cpp

    Header only library that implements Promise/A+ standard. [Anti-996]

  • uvw

    C++ wrapper for libuv. [MIT]

  • uv-cpp

    a simple interface, high-performance network library based on C++11. [MIT]

Audio

  • Amplitude Audio SDK

    A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0]

  • Aubio

    A library for audio and music analysis.[GPL-3.0]

  • AudioFile

    A simple C++ library for reading and writing audio files. [MIT]

  • audioFlux

    A C library for audio and music analysis, feature extraction. [MIT]

  • 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/Proprietary]

  • 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]

  • libsoundio

    C library for cross-platform real-time audio input and output. [MIT]

  • Maximilian

    C++ Audio and Music DSP Library. [MIT]

  • OpenAL

    Open Audio Library - A crossplatform audio API. [BSD/LGPL/Proprietary]

  • miniaudio

    Single file audio playback and capture library. [Unlicense]

  • 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]

  • rnnoise

    Recurrent neural network for audio noise reduction. [BSD-3-Clause]

  • SELA

    SimplE Lossless Audio. [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]

  • 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

  • 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]

BitTorrent

  • jech/dht

    BitTorrent DHT library in C. [MIT]

  • libtorrent

    (a.k.a. libtorrent-rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]

  • LibTorrent

    (a.k.a. libtorrent-rakshasa) - BitTorrent library. [GPL]

  • libutp

    uTorrent Transport Protocol library. [MIT]

Chemistry

  • 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]

  • gromacs

    A message-passing parallel molecular dynamics implementation. [GPL]

  • Reaktoro

    A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL]

  • 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]

  • MADNESS

    Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL]

  • MPQC

    The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [GPL]

  • ORCA

    An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic]

  • Psi

    An ab initio computational chemistry package. [GPL]

CLI

  • Argh!

    A minimalist, frustration-free, header-only argument handler. [BSD]

  • argparse

    Argument Parser for Modern C++. [MIT]

  • args

    A simple header-only C++ argument parser library. [MIT]

  • barkeep

    Small C++ header to display async animations, counters, and progress bars. [Apache-2.0]

  • Boost.Program_options

    A library to obtain program options via conventional methods such as command line and config file. [Boost]

  • 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]

  • clipp

    Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]

  • cpp-terminal

    Small header only C++ library for writing multiplatform terminal applications. [MIT]

  • Ctrl+C

    Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]

  • 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]

  • FTXUI

    C++ Functional Terminal User Interface. [MIT]

  • gflags

    Commandline flags module for C++. [BSD]

  • imtui

    Immediate Mode Text-based User Interface. [MIT]

  • indicators

    Activity indicators for Modern C++. [MIT]

  • linenoise

    A small self-contained alternative to readline and libedit. [BSD-2-Clause]

  • linenoise-ng

    A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]

  • Lyra

    A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]

  • Ncurses

    A terminal user interface. [MIT]

  • oof

    Convenient, high-performance RGB color and position control for console output. [MIT]

  • PDCurses

    Public domain curses library with both source code and pre-compiled library available. [PublicDomain]

  • popl

    A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]

  • replxx

    A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]

  • tabulate

    Table Maker for Modern C++. [MIT]

  • 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]

  • TermOx

    C++17 Terminal User Interface(TUI) Library. [MIT]

  • tuibox

    A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT]

Compression

  • bit7z

    A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2]

  • Brotli

    Brotli compression format. Developed by Google. [MIT]

  • bzip2

    A freely available, patent free, high-quality data compressor. [BSD]

  • bzip3

    A better and stronger spiritual successor to BZip2. [LGPL]

  • FastLZ

    Small & portable byte-aligned LZ77 compression. [MIT]

  • FiniteStateEntropy

    New generation entropy codecs : Finite State Entropy and Huff0

  • heatshrink

    data compression library for embedded/real-time systems [ISC]

  • Kanzi

    a modern, modular, portable and efficient lossless data compressor implemented in C++. [Apache-2.0]

  • 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]

  • LZ4

    Extremely Fast Compression algorithm. [BSD]

  • 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]

  • minizip-ng

    Fork of the popular zip manipulation library found in the zlib distribution. [zlib]

  • 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]

  • Rapidgzip

    Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]

  • smaz

    Small strings compression library. [BSD]

  • Snappy

    A fast compressor/decompressor. [BSD]

  • ZLib

    A very compact compression library for data streams. [zlib]

  • zlib-ng

    zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib]

  • zstd

    Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD]

  • ZZIPlib

    Provides read access on ZIP-archives. [MPL/LGPL]

Concurrency

  • alpaka

    Abstraction library for parallel kernel acceleration. [LGPLv3+]

  • ArrayFire

    A general purpose GPU library. [BSD]

  • 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]

  • BS::thread_pool

    A fast, lightweight, and easy-to-use C++17 thread pool library [MIT]

  • Channel

    Thread-safe container for sharing data between threads. [MIT]

  • 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]

  • Coros

    An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]

  • 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]

  • libfork

    A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0]

  • 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]

  • Neco

    Concurrency library for C (coroutines). [MIT]

  • OpenCL

    The open standard for parallel programming of heterogeneous systems

  • OpenMP

    The OpenMP API

  • rotor

    Event loop friendly C++ actor micro framework. [MIT]

  • SObjectizer

    An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]

  • Quantum

    A powerful C++ coroutine dispatcher framework built on top of

  • RaftLib

    The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]

  • readerwriterqueue

    A fast single-producer, single-consumer lock-free queue for C++. [BSD]

  • stdgpu

    Efficient STL-like Data Structures on the GPU. [Apache2]

  • Taskflow

    A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]

  • ThreadPool

    A simple C++11 Thread Pool implementation [zlib]

  • Thrust

    A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]

  • transwarp

    A header-only C++ library for task concurrency. [MIT]

  • VexCL

    A C++ vector expression template library for OpenCL/CUDA. [MIT]

  • STAPL

    A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]

  • concurrencpp

    A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all

Configuration

  • inifile-cpp

    A header-only and easy to use Ini file parser for C++. [MIT]

  • inih

    Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause]

  • inih

    Single header only C++ version of . [BSD-3-Clause]

  • ini-cpp

    Single header only C++ version, with some handy read/write interface, extend from . [BSD-3-Clause]

  • iniparser

    INI file parser. [MIT]*

  • inipp

    Simple header-only C++ ini parser and generator. [MIT]

  • libconfig

    C, C++ library for processing structured configuration files. [LGPL-2.1]

  • libconfuse

    Small configuration file parser library for C. [ISC]

  • mINI

    INI file reader and writer. [MIT]

  • 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]

  • toml11

    a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT]

Containers

  • C++ B-tree

    A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]

  • dynamic_bitset

    Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT]

  • fixed-containers

    Header-only C++20 library that provides fixed capacity constexpr containers. [MIT]

  • flat_hash_map

    A very fast flat hashtable with Fibonacci hashing

  • frozen

    a header-only, constexpr alternative to gperf for C++14 users. [Apache-2.0]

  • Hashmaps

    Implementation of open addressing hash table algorithms in C++. [MIT]

  • hat-trie

    C++ implementation of a fast and memory efficient HAT-trie. [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]

  • parallel-hashmap

    A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2]

  • 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]

  • plf::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]

  • plf::list

    A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib]

  • plf::stack

    A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib]

  • 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]

  • st_tree

    A fast and flexible c++ template class for tree data structures. [Apache-2.0]

  • svector

    Compact SVO optimized vector for C++17 or higher. [MIT]

  • tree.hh

    An STL-like C++ header-only tree library. [GPL2+]

  • unordered_dense

    A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT]

Cryptography

  • 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+]

  • Botan

    A crypto library for C++. [BSD-2]

  • Crypto++

    A free C++ class library of cryptographic schemes. [Boost]

  • digestpp

    C++11 header-only message digest (hash) library. [PublicDomain]

  • 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]

  • Nettle

    A low-level cryptographic library. [LGPL]

  • OpenSSL

    A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache]

  • 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]

  • HEhub

    A library for homomorphic encryption and its applications. [Apache2]

CSV

  • commata

    Just another header-only C++17 CSV parser. [Unlicense]

  • csv2

    Fast CSV parser for modern C++. [MIT]

  • Csv::Parser

    Compile-time and runtime CSV parser written in C++17. [Zlib]

  • Fast C++ CSV Parser

    Small, easy-to-use and fast header-only library for reading CSV files. [BSD-3-Clause]

  • Glaze

    High performance, header only, CSV library with reflection support. [MIT]

  • lazycsv

    A fast, lightweight and single-header csv parser for modern C++. [MIT]

  • ssp

    A header only "csv" parser which is fast and versatile with modern C++ api. [MIT]

  • Vince's CSV Parser

    A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT]

Database

  • ClickHouse

    C++ client for ClickHouse DBMS. [Apache2]

  • CrossDB

    Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0]

  • DuckDB

    in-process SQL OLAP Database Management System. [MIT]

  • hiberlite

    C++ Object-relational mapping for sqlite3. [BSD]

  • Hiredis

    A minimalistic C client library for the Redis database. [BSD]

  • Infinity

    The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2]

  • Kuzu

    Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT]

  • Kvrocks

    A distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol. [Apache2]

  • LevelDB

    A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. [BSD]

  • libpg_query

    C library for accessing the PostgreSQL parser outside of the server environment. [BSD-3-Clause]

  • libpqxx

    The official C++ client API for PostgreSQL. [BSD-3-Clause]

  • LMDB

    Very fast embedded key/value store with full ACID semantics. [OpenLDAP]

  • LMDB++

    C++11 wrapper for the LMDB embedded database library. [PublicDomain]

  • mgclient

    C/C++ Memgraph Client. [Apache2]

  • MongoDB C Driver

    MongoDB client library for C. [Apache2]

  • MongoDB C++ Driver

    C++ driver for MongoDB. [Apache2]

  • MongoDB Libbson

    A BSON utility library. [Apache2]

  • MySQL++

    A C++ wrapper for MySQL's C API. [LGPL]

  • nanodbc

    A small C++ wrapper for the native C ODBC API. [MIT]

  • ODB

    An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]

  • redis3m

    Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2]

  • Reindexer

    Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2]

  • RocksDB

    Embedded key-value store for fast storage from facebook. [BSD]

  • SimDB

    High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2]

  • SOCI

    A database abstraction layer for C++. [Boost]

  • Speedb

    Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2]

  • SQLite

    A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]

  • SQLiteC++

    SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT]

  • sqlite_modern_cpp

    Header only C++14 wrapper around sqlite library. [MIT]

  • sqlite_orm

    SQLite ORM light header only library for modern C++. [AGPL + paid MIT]

  • sqlpp11

    A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause]

  • TileDB

    Fast Dense and Sparse Multidimensional Array DBMS. [MIT]

  • TinyORM

    Modern C++ ORM library. [MIT]

  • UnQLite

    A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause]

  • upscaledb

    An embedded "typed" key/value store with a built-in query interface. [GPLv3]

  • TigerBeetleDB C++ client (Community)

    TigerBeetle is a financial accounting database designed for mission critical safety and performance to power the future of financial services. [BSL-1.0]

  • Trilogy

    a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding. [MIT]

  • UStore

    Multi-Modal database for BLOBs, JSON, and graphs. [Apache2]

  • Velox

    A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0]

Data visualization

  • matplotplusplus

    C++ Graphics Library for Data Visualization. [MIT]

Debug

  • backward-cpp

    A beautiful stack trace pretty printer for C++. [MIT]

  • Bencher

    A suite of continuous benchmarking tools designed to catch performance regressions in CI. [MIT]/[Apache2]

  • benchmark

    Google provided small microbenchmark support library. [Apache2]

  • Boost.Test

    Boost Test Library. [Boost]

  • check

    Check is a unit testing framework for C. [LGPL-2.1]

  • doctest

    The lightest feature rich C++ single header testing framework. [MIT]

  • Catch2

    A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost]

  • Celero

    C++ Benchmarking Framework. [Apache2]

  • cpp-dump

    A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT]

  • CppUTest

    Unit testing and mocking framework for C/C++. [BSD-3-clause]

  • CUTE

    C++ Unit Testing Easier. [LGPL3]

  • CMocka

    unit testing framework for C with support for mock objects. [Apache2]

  • CppBenchmark

    Performance benchmark framework for C++ with nanoseconds measure precision. [MIT]

  • Cpptrace

    A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT]

  • CppUnit

    C++ port of JUnit. [LGPL2]

  • CTest

    The CMake test driver program. [BSD]

  • dbg-macro

    A dbg(…) macro for C++. [MIT]

  • DebugViewPP

    Debug logging viewer. [Boost]

  • Deleaker

    A tool for resource leak detection, including memory, GDI and handle leaks

  • FakeIt

    Simple mocking framework for C++. [MIT]

  • fff

    A micro-framework for creating fake C functions. [MIT]

  • Google Mock

    A library for writing and using C++ mock classes. [BSD]

  • Google Test

    Google C++ Testing Framework. [BSD]

  • ig-debugheap

    Multiplatform debug heap useful for tracking down memory errors. [BSD]

  • libassert

    The most over-engineered C++ assertion library. [MIT]

  • libtap

    Write tests in C. [GPL2]

  • microprofile

    Profiler with web-view for multiple platforms. [Unlicense]

  • MinUnit

    A minimal unit testing framework for C self-contained in a single header file. [MIT]

  • Mockator

    Eclipse CDT plug-in for C++ Seams and Mock Objects

  • nanobench

    Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT]

  • Nanotimer

    A simple low-overhead cross-platform timer class for benchmarking. [zLib]

  • Nonius

    A C++ micro-benchmarking framework. [CC]

  • Remotery

    Single C File Profiler with Web Viewer. [Apache2]

  • snitch

    Lightweight C++20 testing framework. [Boost]

  • Touca

    Open-source regression testing system that you can self-host. [Apache2]

  • UnitTest++

    A lightweight unit testing framework for C++. [MIT/X Consortium license]

  • Unity

    Simple Unit Testing for C. [MIT]

  • utest.h

    Single header unit testing framework for C and C++. [Unlicense]

  • μt

    C++20 single header/single module, macro-free μ(micro)/Unit Testing Framework. [Boost]

  • VLD

    Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++

Documentation

  • Doxide

    Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0]

  • doxygen

    The de facto standard tool for generating documentation from annotated C++ sources. [GPL2]

  • doxyrest

    A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]

  • hdoc

    The modern documentation tool for C++. [AGPL/Proprietary]

  • Natural Docs

    Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary]

  • Sphinx

    Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause]

DSP

  • DSPFilters

    A collection of useful C++ classes for digital signal processing. [MIT]

  • FFTW

    A C library for computing the DFT in one or more dimensions. [GPL]

  • iir1

    IIR Realtime C++ filter library. [MIT]

  • kissfft

    A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause]

  • pocketfft

    FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause]

  • wavelib

    C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause]

Font

  • Fontconfig

    Font configuration and customization library. [MIT]

  • 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]

  • harfbuzz

    A text shaping engine. [Old MIT]

  • libschrift

    A lightweight TrueType font rendering library. [ISC]

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]

  • Axmol Engine

    A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT]

  • 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]

  • delta3d

    A robust simulation platform. [LGPL2]

  • EnTT

    Gaming meets modern C++. [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]

  • JNGL

    2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib]

  • KlayGE

    a cross-platform open source game engine with plugin-based architecture. [GPLv2]

  • nCine

    A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT]

  • o3de

    An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2]

  • 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]

  • 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]

  • quakeforge

    Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0]

  • raylib

    A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng]

  • Spring

    A powerful free cross-platform RTS game engine. [GPLv2/GPLv3]

  • Torque2D

    An open-source and cross-platform C++ engine built for 2D game development. [MIT]

  • Torque3D

    An open-source C++ engine built for 3D game development. [MIT]

  • 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]

  • ezEngine

    Is a free, open-source game engine written in C++. Its philosophy is to be modular and flexible, such that it can be adapted to many different use cases. [MIT]

Graph

  • CXXGraph

    free C++(17) graph header-only library for representation and algorithms execution. [AGPL-3.0]

  • Graaf

    A general-purpose lightweight C++20 graph library. [MIT]

GUI

  • Boden

    Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary]

  • CEGUI

    Flexible, cross-platform GUI library

  • Elements

    Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]

  • FLTK

    Fast, light, cross-platform C++ GUI toolkit. [LGPL2]

  • FOX Toolkit

    an open-source, cross-platform widget toolkit. [LGPL]

  • GacUI

    GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]

  • GTK+

    A multi-platform toolkit for creating graphical user interfaces. [LGPL]

  • gtkmm

    The official C++ interface for the popular GUI library GTK+. [LGPL]

  • imgui

    Immediate Mode Graphical User Interface with minimal dependencies. [MIT]

  • implot

    Immediate Mode Plotting widgets for imgui. [MIT]

  • iup

    Multi-platform toolkit for building graphical user interfaces. [MIT]

  • libui

    Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT]

  • MyGUI

    Fast, flexible and simple GUI. [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]

  • Saucer

    A modern, cross-platform C++ webview library. [MIT]

  • Sciter

    Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]

  • Slint

    Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary]

  • TGUI

    Cross-platform modern c++ GUI. [Zlib]

  • WebUI

    Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT]

  • wxCharts

    A library to create charts in wxWidgets applications. [MIT]

  • 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]

  • bgfx

    A cross-platform rendering library. [BSD]

  • Blend2D

    2D vector graphics engine powered by a JIT compiler. [Zlib]

  • Cairo

    A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]

  • C-Turtle

    A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]

  • Diligent Engine

    A modern cross-platform low-level 3D graphics library. [Apache2]

  • DirectXTK

    A collection of helper classes for writing DirectX 11.x code in C++. [MIT]

  • GLFW

    A simple, cross-platform OpenGL wrangling library. [zlib/libpng]

  • GLFWPP

    A thin modern C++17 header-only wrapper for GLFW. [MIT]

  • Harfang 3D

    3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Proprietary]

  • herebedragons

    A basic 3D scene implemented with various engines, frameworks or APIs. [MIT]

  • Horde3D

    A small 3D rendering and animation engine. [EPL]

  • Ion

    A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2]

  • Irrlicht

    A high performance realtime 3D engine written in C++. [zlib]

  • libigl

    Simple C++ geometry processing library. [MPL2]

  • LLGL

    Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]

  • LunaSVG

    a standalone SVG rendering library in C++. [MIT]

  • magnum

    Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT]

  • micro-gl

    Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM]

  • NanoVG

    Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]

  • Ogre 3D

    A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]

  • OpenSceneGraph

    An open source high performance 3D graphics toolkit. [OSGPL]

  • OpenSubdiv

    Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]

  • OpenVDB

    Library and tools for storing, editing, and rendering volumetric datasets. [MPL2]

  • Panda3D

    A framework for 3D rendering and game development for Python and C++. [BSD]

  • Partio

    Library for wrangling particle data, with support for most common file formats. [Modified BSD]

  • Skia

    A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD]

  • ThorVG

    a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT]

  • TinySpline

    A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT]

  • urho3d

    Cross-platform rendering and game engine. [Many different, mostly MIT]

  • Yocto/GL

    Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT]

Image Processing

  • Boost.GIL

    Generic Image Library. [Boost]

  • BitmapPlusPLus

    Simple and Fast header only Bitmap C++ library. [MIT]

  • 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]

  • fpng

    Super fast C++ .PNG writer/reader. [Unlicense]

  • 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]

  • DCMTK

    DICOM Toolkit

  • GDCM

    Grassroots DICOM library

  • ITK

    An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]

  • https://github.com/google/jpegli]

    [Jpegli][ - an improved JPEG encoder and decoder implementation. [BSD-3-Clause]

  • Leptonica

    Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause]

  • libavif

    Library for encoding and decoding .avif files. [BSD-2-Clause]

  • 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]

  • libjxl

    JPEG XL image format reference implementation. [BSD-3-Clause]

  • libpng

    the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0]

  • libspng

    Simple, modern libpng alternative. [BSD-2]

  • libvips

    A fast image processing library with low memory needs. [LGPL]

  • LodePNG

    PNG encoder and decoder in C and C++. [Zlib]

  • Magick++

    ImageMagick program interfaces for C++. [Apache2]

  • MagickWnd

    ImageMagick program interfaces for C. [Apache2]

  • MozJPEG

    Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB]

  • OpenCV

    Open source computer vision. [Apache2]

  • OpenEXR

    Cross-platform library for high dynamic range imaging. [Modified BSDF]

  • OpenImageIO

    Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]

  • OpenJPEG

    an open-source JPEG 2000 codec written in C language. [BSD-2-Clause]

  • QOI

    The “Quite OK Image Format” for fast, lossless image compression. [MIT]

  • SAIL

    Easy-to-use cross-platform image decoding library with pluggable image codecs. [MIT]

  • 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]

  • stb-image

    STB single-header image loading library. [Public Domain]

  • tesseract-ocr

    An OCR engine. [Apache2]

  • TinyDNG

    Header-only Tiny DNG/TIFF loader and writer in C++. [MIT]

  • TinyEXIF

    Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT]

  • TinyTIFF

    lightweight TIFF reader/writer library. [GPL-3.0]

  • Video++

    A C++14 high performance video and image processing library. [MIT]

  • VIGRA

    A generic C++ computer vision library for image analysis. [MIT X11]

  • VTK

    Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]

Internationalization

  • gettext

    GNU 'gettext'. [GPL2]

  • 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]

  • simdutf

    Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT]

  • uni-algo

    Unicode Algorithms Implementation for C/C++. [Unlicense or MIT]

  • 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]

  • Boost.Interprocess

    Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost]

  • bRPC

    bRPC is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. [Apache2]

  • Cap'n Proto

    Fast data interchange format and capability-based RPC system. [MIT]

  • eCAL

    Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2]

  • gRPC

    A high performance, open source, general-purpose RPC framework. [BSD]

  • Ice

    Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]

  • iceoryx

    True zero-copy inter-process communication framework for safety critical systems with bindings for C, Rust. Runs on Linux, QNX, Windows, Mac OS, FreeBSD. [Apache2]

  • libjson-rpc-cpp

    JSON-RPC framework for C++ servers and clients. [MIT]

  • nanomsg

    A simple high-performance implementation of several "scalability protocols". [MIT]

  • nng

    nanomsg-next-generation, a light-weight brokerless messaging library. [MIT]

  • rpclib

    A modern C++ msgpack-RPC server and client library. [MIT]

  • simple-rpc-cpp

    A simple RPC wrapper generator to C/C++ functions. [BSD]

  • SRPC

    A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]

  • WAMP

    Provides RPC and pub/sub messaging patterns. (various implementations, various languages)

  • xmlrpc-c

    A lightweight RPC library based on XML and HTTP. [BSD]

JSON

  • Boost.PropertyTree

    A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]

  • cJSON

    Ultralightweight JSON parser in ANSI C. [MIT]

  • DAW JSON Link

    Fast, convenient JSON serialization and parsing in C++. [BSL-1.0]

  • frozen

    JSON parser and generator for C/C++. [GPL & GPL2]

  • Glaze

    Extremely fast, in memory, JSON and interface library for modern C++. [MIT]

  • Jansson

    C library for encoding, decoding and manipulating JSON data. [MIT]

  • jbson

    jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]

  • JeayeSON

    A very sane (header only) C++ JSON library. [BSD]

  • Jsmn

    A minimalistic JSON parser in C. [MIT]

  • json

    JSON for Modern C++. [MIT]

  • JSON++

    A JSON parser in C++. [MIT]

  • json.cpp

    a baroque JSON parsing / serialization library for C++. [Apache-2.0]

  • json.h

    A simple one header/one source solution to parsing JSON in C and C++. [Unlicense]

  • json-build

    C89 tiny zero-allocation JSON serializer. [MIT]

  • json-c

    A JSON implementation in C. [MIT]

  • jsoncons

    A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]

  • JsonCpp

    A C++ library for interacting with JSON. [MIT]

  • Jsonifier

    A few classes for parsing and serializing objects from/into JSON - very rapidly. [MIT]

  • jsonParse

    A simple JSON parser in ANSI C. [MIT]

  • json-parser

    Very low footprint JSON parser written in portable ANSI C. [BSD]

  • json11

    A tiny JSON library for C++11. [MIT]

  • json-struct

    High performance, single header JSON parser parsing to and from C++ structs. [MIT]

  • json-voorhees

    JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2]

  • JSON Toolkit

    JSON, JSON Pointer, JSON Schema, and JSONL library for C++20. [AGPL/Commercial]

  • jute

    Very simple C++ JSON Parser. [PublicDomain]

  • libjson

    A JSON parser and printer library in C. easy to integrate with any model. [LGPL]

  • libjson

    Lightweight JSON library. [?]

  • LIBUCL

    Universal configuration library parser. [BSD-2-Clause]

  • 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]

  • Sonic-Cpp

    A fast JSON serializing & deserializing library, accelerated by SIMD. [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]

  • UltraJSON

    Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause]

  • 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]

  • BqLog

    A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]

  • 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

  • haclog

    An extremely fast plain C logging library. [MIT]

  • 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]

  • lwlog

    Very fast synchronous and asynchronous C++17 logging library. [MIT]

  • 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]

  • Quill

    Asynchronous cross platform low latency logging library. [MIT]

Machine Learning

  • Caffe

    A fast framework for neural networks. [BSD]

  • catboost

    A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2]

  • 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]

  • Dlib

    A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]

  • FAISS

    A library for efficient similarity search and clustering of dense vectors. [MIT]

  • Fido

    A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT]

  • 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]

  • ggml

    Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT]

  • libsvm

    A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause]

  • 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]

  • Minerva

    A fast and flexible system for deep learning. [Apache2]

  • mlpack

    A scalable c++ machine learning library. [LGPLv3]

  • ncnn

    A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]

  • OpenCV

    Open Source Computer Vision Library. [BSD]

  • oneDAL

    A powerful machine learning library that helps speed up big data analysis. [Apache]

  • ONNX runtime

    C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT]

  • 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]

  • USearch

    Fast search and clustering library for vectors and strings. [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]

  • 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]

Math

  • Apophenia

    A C library for statistical and scientific computing. [GPL2]

  • Armadillo

    Fast C++ library for linear algebra & scientific computing. [Apache2]

  • autodiff

    A modern, fast and expressive C++ library for automatic differentiation. [MIT]

  • 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]

  • cml

    free C++ math library for games and graphics. [Boost]

  • CNL

    A Compositional Numeric Library for C++. [Boost]

  • DirectXMath

    An all inline SIMD C++ linear algebra library for use in games and graphics apps

  • Dlib

    A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [Boost]

  • 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]

  • GLM

    Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT]

  • 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]

  • linalg.h

    Single header, public domain, short vector math library for C++. [Unlicense]

  • MatX

    A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]

  • 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]

  • 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]

  • OpenBLAS

    An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause]

  • 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]

  • SimSIMD

    Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2]

  • StatsLib

    A C++ header-only library of statistical distribution functions. [Apache2]

  • 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]

  • Vc

    SIMD Vector Classes for C++. [BSD]

  • Versor

    A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc)

  • Wagyu

    A general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original]

  • 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]

  • 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]

  • XAD

    Powerful Automatic Differentiation for C++. [AGPL]

Memory Allocation

  • Boehm GC

    Conservative garbage collector for C and C++. [similar to X11]

  • C Smart Pointers

    Smart pointers for the (GNU) C programming language. [MIT]

  • Hoard

    Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0]

  • jemalloc

    General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD]

  • 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]

  • rpmalloc

    Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]

  • snmalloc

    Message passing based high-performance allocator. [MIT]

  • TCMalloc

    Google's fast, multi-threaded malloc implementation. [Apache-2.0]

  • buddy_alloc

    A single header buddy memory allocator for C with bounded allocation costs. [0BSD]

  • 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]

  • LIVE555 Streaming Media

    Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]

  • libVLC

    libVLC (VLC SDK) media framework. [GPL]

  • MediaInfoLib

    Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD]

  • QtAv

    A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL]

  • SDL

    Simple DirectMedia Layer. [zlib]

  • SFML

    Simple and Fast Multimedia Library. [zlib]

  • TagLib

    A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL]

Networking

  • ada

    WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]

  • ACE

    An OO Network Programming Toolkit in C++. [?MIT?]

  • Boost.Asio

    A cross-platform C++ library for network and low-level I/O programming. [Boost]

  • Boost.Beast

    HTTP and WebSocket built on Boost.Asio in C++11. [Boost]

  • Breep

    Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]

  • C++ REST SDK

    C++ REST SDK (previously named Casablanca). [Apache2]

  • Restbed

    C++11 Asynchronous RESTful framework. [AGPL]

  • 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. [Boost]

  • 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]

  • curlcpp

    An object oriented C++ wrapper for CURL(libcurl). [MIT]

  • curlpp

    -C++ wrapper around libcURL. [MIT]

  • DPDK

    Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0]

  • Dyad.c

    Asynchronous networking for C. [MIT]

  • ENet

    Reliable UDP networking library. [MIT]

  • evpp

    C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]

  • FTP client for C++

    C++ client for making FTP requests. [MIT]

  • 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]

  • 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]

  • Lithium

    Build high performance C++ HTTP servers without being a C++ expert. [MIT]

  • lwIP

    A lightweight TCP/IP stack. [Modified BSD]

  • mailio

    mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD]

  • Mongoose

    Extremely lightweight webserver. [GPL2]

  • MQTT-C

    A portable MQTT C client for embedded systems and PCs alike. [MIT]

  • mTCP

    Highly scalable user-level TCP stack for multicore systems. [Modified BSD]

  • Muduo

    A C++ non-blocking network library for multi-threaded server in Linux. [BSD]

  • nghttp2

    HTTP/2 C Library. [MIT]

  • nghttp3

    HTTP/3 library written in C. [MIT]

  • Onion

    HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]

  • PF_RING™

    High-speed packet processing framework. [LGPL-2.1]

  • 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]

  • Proxygen

    Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]

  • RedPanda

    Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL]

  • 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]

  • tlse

    Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]

  • TQUIC

    A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2]

  • 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]

  • UCall

    A high-performance SIMD-accelerated RPC library on io_uring. [Apache2]

  • 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. [LGPL3/MPL2]

Office Open XML

  • DuckX

    C++ library for creating and modifying Microsoft Word (.docx) files. [MIT]

  • FreeXL

    an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2]

  • libxls

    Read binary Excel files from C/C++ [BSD-2-Clause]

  • libxlsxwriter

    A C library for creating Excel XLSX files. [BSD-2-Clause]

  • OpenXLSX

    A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause]

  • SimpleXlsxWriter

    XLSX files writer for Microsoft Excel 2007 and above. [zlib]

  • XLSX I/O

    C library for reading and writing .xlsx files. [MIT]

PDF

  • 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/Proprietary]

  • PDF-Writer

    High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0]

  • pdfio

    A simple C library for reading and writing PDF files. [Apache-2]

  • PDFium

    PDF generation and rendering library. [BSD-3-Clause]

  • 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]

Physics

  • Box2D

    A 2D physics engine for games. [BSD-like]

  • Bullet

    A 3D physics engine for games. [zlib]

  • Chipmunk

    A fast and lightweight 2D game physics library. [MIT]

  • Jolt Physics

    A multi core friendly rigid body physics and collision detection library. [MIT]

  • Kratos

    framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD]

  • 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]

  • 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]

  • PlayRho

    An interactive physics engine & library. [Zlib]

  • Project Chrono

    An open source multi-physics simulation engine. [BSD-3-Clause]

  • Quantum++

    A modern C++11 quantum computing library. [MIT]

  • QuarkPhysics

    A 2D Soft Body and Rigid Body Physics Engine. [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]

Reflection

  • config-loader

    A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]

  • Better Enums

    Reflective enums (to string, iteration). Single header. [BSD]

  • clReflect

    C++ Reflection using clang. [MIT]

  • CPFG

    A C++03 library for reflection, callback and script binding. [Apache2]

  • CPP-Reflection

    C++ Reflection using clang. [MIT]

  • Easy Reflection

    Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]

  • 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]

  • Ponder

    A C++11 library for reflection. [MIT]

  • REFLECT

    C++20 Static Reflection library. [MIT]

  • reflect-cpp

    Serialization through reflection, including automatic field name retrieval from structs. [MIT]

  • RTTR

    A C++11 library for reflection. [MIT]

  • simple_enum

    An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0]

  • TSMP

    An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT]

  • visit_struct

    A miniature library for struct-field reflection in C++. [Boost]

  • Refureku

    A C++17 runtime reflection and code generation library. [MIT]

Regular Expression

  • CppVerbalExpressions

    C++ regular expressions made easy. [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/Proprietary]

  • sregex

    A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]

  • SRELL

    Unicode-aware regular expression template library for C++. [BSD]

  • Vectorscan

    A portable fork of the high-performance regular expression matching library. [BSD-3-Clause]

Robotics

  • MOOS-IvP

    A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles

  • MRPT

    Mobile Robot Programming Toolkit. [BSD]

  • PCL

    Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD]

  • Robotics Library (RL)

    A self-contained C++ library for robot kinematics, motion planning and control. [BSD]

  • RobWork

    A collection of C++ libraries for simulation and control of robot systems. [Apache2]

  • ROS

    Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]

  • Ruckig

    Real-time motion generation for robots and machines. [MIT]

  • YARP (Yet Another Robot Platform)

    Library and toolkit for communication and device interfaces. [BSD-3-Clause]

  • SPICE Toolkit

    Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT]

Scientific Computing

  • AMGCL

    a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]

  • Au

    A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. [Apache 2.0]

  • FFTW

    A C library for computing the DFT in one or more dimensions. [GPL]

  • GSL

    GNU scientific library. [GPL]

  • preCICE

    Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL]

  • TileDB

    Fast Dense and Sparse Multidimensional Array DBMS. [MIT]

  • Trilinos

    High performance PDE solvers. [BSD]

  • Torch

    A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause]

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]

  • 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]

  • djinni

    A tool for generating cross-language type declarations and interface bindings. [Apache2]

  • Duktape

    An embeddable JavaScript engine with compact footprint. [MIT]

  • JavaCpp

    The missing bridge between Java and native C++. [Apache2]

  • libffi

    A portable foreign-function interface library. [MIT]

  • 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]

  • LuaBridge3

    A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT]

  • luacxx

    C++11 API for creating Lua bindings. [MIT]

  • MiniScript

    scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT]

  • nbind

    Magical headers that make your C++ library accessible from JavaScript. [MIT]

  • PHP-CPP

    A library to build PHP extensions with C++. [Apache2]

  • pocketpy

    C++17 header-only Python interpreter for game scripting. [MIT]

  • pybind11

    Seamless operability between C++11 and Python. [BSD]

  • QuickJS

    a small and embeddable JavaScript engine. [MIT]

  • 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]

  • txiki.js

    A tiny JavaScript runtime. [MIT]

  • V7

    An embedded JavaScript engine. [GPL2]

  • V8

    A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]

  • v8pp

    Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST]

  • ChakraCore

    -A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]

Serialization

  • Bitsery

    Header only C++ binary serialization library. [MIT]

  • Bond

    An open source, cross-platform framework for working with schematized data. [MIT]

  • Boost.Serialization

    Boost Serialization Library. [Boost]

  • Cap'n Proto

    Fast data interchange format and capability-based RPC system. [MIT]

  • cereal

    A C++11 library for serialization. [BSD]

  • 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]

  • Kaitai Struct

    A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2]

  • iguana

    a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2]

  • MessagePack

    Efficient binary serialization format "like JSON" for C and C++. [Apache2]

  • mrpt-serialization

    Versioned serialization to binary or text formats. [BSD]

  • nanopb

    Small code-size Protocol Buffers implementation in ANSI C. [Zlib]

  • protobuf

    Protocol Buffers - Google's data interchange format. [BSD]

  • protobuf-c

    Protocol Buffers implementation in C. [BSD]

  • Protocol Puffers

    A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0]

  • SimpleBinaryEncoding

    encoding and decoding application messages in binary format for low-latency applications. [Apache2]

  • upb

    A small protobuf implementation in C. [BSD]

  • Wirehair

    O(N) Fountain Code for Large Data. [BSD-3-Clause]

  • YAS

    Very fast et nother erialization library supports the binary/text/json formats. [Boost]

  • zpp_bits

    Actually, the fastest modern erialization library. Just check

Serial Port

  • Asio

    Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost]

  • Boost.Asio

    Boost.Asio includes classes for creating and manipulating serial ports in a portable manner. [Boost]

  • CSerialPort

    lightweight cross-platform serial port library. [LGPL3]

  • Libserial

    Serial Port Programming in C++. [BSD-3-Clause]

  • Serial Communication Library

    Cross-platform, Serial Port library written in C++. [MIT]

Sorting

  • cpp-sort

    Sorting algorithms & related tools for C++14. [MIT]

  • pdqsort

    Pattern-defeating quicksort. [zlib]

  • 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]

Video

  • libvpx

    VP8/VP9 Codec SDK. [BSD]

  • FFmpeg

    A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]

  • avcpp

    Modern C++ wrapper around FFmpeg. [MIT]

  • libde265

    Open h.265 video codec implementation. [LGPL]

  • x265

    Open h.265 video codec implementation. [GPL2]

  • OpenH264

    Open Source H.264 Codec. [BSD]

  • Theora

    A free and open video compression format. [BSD]

  • Vireo

    A lightweight and versatile video processing library by Twitter. [MIT]

Virtual Machines

  • CarpVM

    "interesting" VM in C. Let's see how this goes. [GPLv3]

  • MicroPython

    Aims to put an implementation of Python 3.x on a microcontroller. [MIT]

  • TinyVM

    A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]

Web Application Framework

  • Civetweb

    Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]

  • C++ REST SDK

    Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. [MIT]

  • CppCMS

    A Free High Performance Web Development Framework (not a CMS). [LGPLv3]

  • Crow

    Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD]

  • Cutelyst

    A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause]

  • Drogon

    A C++14/17 based, high-performance HTTP application framework. [MIT]

  • C++ wfrest

    C++ Web Framework REST API. [Apache2]

  • facil.io

    Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT]

  • Kore

    ultra fast and flexible web server / framework for web applications developed in C. [ISC]

  • libOnion

    lightweight library to help you create webservers in C programming language. [LGPLv3]

  • lwan

    Experimental, scalable, high performance HTTP server. [GPL2]

  • oat++

    Light, zero-dependency framework to create high-performance web-services. [Apache-2.0]

  • 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]

  • userver

    Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0]

  • Wt

    A C++ library for developing web applications. [GPL/Proprietary]

XML

  • Boost.PropertyTree

    A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost]

  • Expat

    An XML parser library written in C. [MIT]

  • Libxml2

    The XML C parser and toolkit of Gnome. [MIT]

  • libxml++

    An XML Parser for C++. [LGPL2]

  • Mini-XML

    A small XML parsing library written in ANSI C. [LGPL2 with exceptions]

  • PugiXML

    A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]

  • RapidXml

    An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]

  • TinyXML

    A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]

  • TinyXML2

    A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]

  • TinyXML++

    A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]

  • Xalan C

    A library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0]

  • Xerces-C++

    A validating XML parser written in a portable subset of C++. [Apache2]

Yaml

  • mini-yaml

    Single header YAML 1.0 C++11 serializer/deserializer. [MIT]

  • yaml-cpp

    A YAML parser and emitter in C++. [MIT]

  • rapidyaml

    Rapid YAML is a C++ library to parse and emit YAML. [MIT]

Miscellaneous

  • 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]

  • Argon2

    The password hash Argon2, winner of PHC. [CC0/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.Signals2

    An implementation of a managed signals and slots system. [Boost]

  • casacore

    A set of c++ core libraries derived from aips++. [LGPL]

  • CCTZ

    a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]

  • Cheat Sheets of HackingCPP

    Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc

  • Concord

    A Discord API wrapper library written in C. [MIT]

  • CPPItertools

    Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]

  • cpp-lazy

    a fast and easy lazy evaluation library for C++11/14/17/20. [MIT]

  • CRCpp

    Easy to use and fast C++ CRC library. [BSD-3-Clause]

  • cxx-prettyprint

    A pretty printing library for C++ containers. [Boost]

  • date

    A date and time library based on the C++11/14/17

  • D++ (DPP)

    A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2]

  • DynaMix

    A library which allows you to compose and modify objects at run time. [MIT]

  • emio

    A safe and fast high-level and low-level character input/output library. [MIT]

  • faker-cxx

    C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT]

  • fast_float

    Fast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT]

  • FastFormat

    Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]

  • fast_io

    Significantly faster input/output for C++20. [MIT]

  • fccf

    A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]

  • {fmt}

    Small, safe and fast formatting library for C++. [Simplified BSD]

  • gcc-poison

    A simple header file for developers to ban unsafe C/C++ functions from applications

  • happly

    A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT]

  • hedley

    A C/C++ header file designed to smooth over some platform-specific annoyances

  • HighwayHash

    Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0]

  • icecream-cpp

    A small printing library for debugging purposes. [MIT]

  • inja

    A Template Engine for Modern C++. [MIT]

  • Jinja2С++

    almost full-conformance template engine implementation

  • jwt-cpp

    A header only library for creating and validating JSON web tokens in C++. [MIT]

  • Kangaru

    A dependency injection container for C++11 and C++14. [MIT]

  • Klib

    Small and lightweight implementations of common algorithms and data structures. [MIT]

  • libcpuid

    A small C library for x86 CPU detection and feature extraction. [BSD]

  • libenvpp

    A modern C++ library for type-safe environment variable parsing. [Apache-2.0]

  • libevil

    The Evil License Manager. [GPLv3]

  • libnih

    A lightweight library of C functions and structures. [GPL2.1]

  • libsigc++

    A typesafe callback system for standard C++. [LGPL]

  • libusb

    A universal USB library which allows for portable access to USB devices. [LGPL2]

  • Mach7

    A Pattern-matching library for C++. [BSD]

  • mio

    Cross-platform C++11 header-only library for memory mapped file IO. [MIT]

  • MPH

    C++20 [Minimal] Static Perfect Hash library. [MIT]

  • PEGTL

    The Parsing Expression Grammar Template Library. [MIT]

  • Pipes

    Pipelines for expressive code on collections in C++. [MIT]

  • pprint

    Pretty Printer for Modern C++. [MIT]

  • pspsdk

    An open-source SDK for PSP homebrew development. [BSD/GNU GPL3]

  • QtVerbalExpressions

    This Qt lib is based off of the C++ VerbalExpressions library. [MIT]

  • RapidFuzz

    Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT]

  • rapidhash

    Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]

  • Remote Call Framework

    Inter-process communication framework for C++. [GPL2/Proprietary]

  • reproc

    A cross-platform (C99/C++11) process library. [MIT]

  • scnlib

    scanf for modern C++. [Apache-2.0]

  • Scintilla

    A free source code editing component. [MIT]

  • SDS

    Simple Dynamic Strings library for C. [BSD]

  • semver.c

    A semver parser and render in ANSI C. [MIT]

  • sigslot

    C++ Signal/Slot Library. [PublicDomain]

  • SimpleSignal

    High performance C++11 signals. [PublicDomain]

  • Stage

    Mobile robot simulator. [GPL2]

  • stb

    A range of single-file libraries for C/C++. [PublicDomain]

  • stdman

    A tool that parses archived HTML files from and generates groff-formatted manual pages for Unix-based systems. [MIT]

  • StringZilla

    the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0]

  • StrTk

    A C++ library consisting of high performance string processing routines. [MIT]

  • tgbotxx

    Telegram Bot C++ Library. [MIT]

  • tiny::optional

    Replacement for std::optional that does not waste memory unnecessarily. [BSL-1.0]

  • Tulip Indicators

    A C library of over 100 financial technical analysis indicators. [LGPL]

  • ub-canaries

    A collection of C/C++ programs that try to get compilers to exploit undefined behavior

  • value-category-cheatsheet

    A PDF cheatsheet for lvalues, rvalues, and the like. [Jank copyleft]

  • VarTypes

    A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]

  • Wildcards

    A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0]

  • ZBar

    A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]

  • ZXing

    An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]

Software / Compiler

  • 8cc

    A Small C Compiler

  • c

    Compile and execute C "scripts" in one go! [MIT]

  • Clang

    A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]

  • GCC

    GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]

  • PCC

    A very old C compiler. Supports C99

  • Intel C++ Compiler

    Developed by Intel

  • LLVM

    Collection of modular and reusable compiler and toolchain technologies

  • Microsoft Visual C++

    MSVC, developed by Microsoft

  • Open WatCom

    Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]

  • Oracle Solaris Studio

    C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]

  • TCC

    Tiny C Compiler. [LGPL]

Software / Online Compiler

  • codechef

    A simple online compiler CodeChef

  • codepad

    An online compiler/interpreter, and a simple collaboration tool

  • coliru

    Online compiler/shell with support for various C++ compilers

  • Compiler Explorer

    An interactive compiler with assembly output available

  • CompileOnline

    Compile and Execute C++ online on Linux

  • Ideone

    An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages

  • Programiz

    An online compiler for learners and developers

  • repl.it

    A powerful yet simple tools and platforms for educators, learners, and developers

  • Rextester

    Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors

  • Try It Online

    TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages

  • Wandbox

    An online Clang/GCC compiler with Boost available

  • paiza.io

    An online C/C++ compiler with multiple files supporting feature, GitHub(gist) integration and collaborative editing

  • InterviewBit

    A simple and easy to use online C++ compiler

Software / Debugger

  • Comparison of debuggers

    A list of Debuggers from Wikipedia

  • GDB

    GNU Debugger

  • LLDB

    The LLDB Debugger

  • Metashell

    An interactive template metaprogramming shell which includes the MDB metadebugger

  • Valgrind

    A tool for memory debugging, memory leak detection, and profiling

  • x64dbg

    An open-source x64/x32 debugger for windows

Software / Integrated Development Environment

  • Anjuta DevStudio

    The GNOME IDE. [GPL3]

  • AppCode

    an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform

  • Cevelop

    Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins

  • CLion

    Cross-platform C and C++ IDE from JetBrains

  • Code::Blocks

    A free C, C++ and Fortran IDE

  • CodeLite

    Another cross-platform, free C and C++ IDE. [GPL2 with an exception for plugins]

  • color_coded

    A vim plugin for libclang-based highlighting. [MIT]

  • Dev-C++

    A portable C/C++/C++11 IDE

  • Eclipse CDT

    A fully functional C and C++ IDE based on the Eclipse platform

  • Embarcadero Dev-CPP

    A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2]

  • Geany

    Small, fast, cross-platform IDE. [GPL]

  • IBM VisualAge

    A family of computer integrated development environments from IBM

  • Irony-mode

    A C/C++ minor mode for Emacs powered by libclang

  • juCi++

    Cross-platform, lightweight C++ IDE with libclang integration. [MIT]

  • KDevelop

    A free, open source IDE

  • Microsoft Visual Studio

    An IDE from Microsoft

  • Microsoft Visual Studio Code

    An open-source IDE from Microsoft. [MIT]

  • NetBeans

    An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5

  • Qt Creator

    A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions]

  • rtags

    A c/c++ client/server indexer with for integration with emacs based on clang

  • Xcode

    Developed by Apple

  • 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

  • C Playground - Online C Programming IDE

    An online IDE to practice C Programming where you can write, edit, and run code online

Software / 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]

  • Ccache

    A fast C/C++ compiler cache. [GPLv3]

  • 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]

  • Cget

    Cmake package retrieval. [Boost]

  • 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

  • Sccache

    A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options

  • 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]

  • XMake

    A C/C++ cross-platform build utility based on Lua. [Apache]

Software / Static Code Analysis

  • Cppcheck

    A tool for static C/C++ code analysis. -

  • 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]

  • include-what-you-use

    A tool for use with clang to analyze includes in C and C++ source files

  • Infer

    A static analyzer for Java, C and Objective-C. [BSD]

  • OCLint

    A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. -

  • Clang Static Analyzer

    A source code analysis tool that finds bugs in C, C++, and Objective-C programs

  • Linticator

    Eclipse CDT integration of Pc-/FlexeLint

  • IKOS

    Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]

  • List of tools for static code analysis

    A list of tools for static code analysis from Wikipedia

  • OptView2

    Inspect missed Clang optimizations

  • Trunk

    Toolkit to check, test, merge, and monitor code

Software / Coding Style Tools

  • Artistic Style

    A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle

  • ClangFormat

    A tool to format C/C++/Obj-C code

  • Clang-Tidy

    Clang-based C++ linter tool

  • EditorConfig

    EditorConfig helps maintain consistent coding styles across different editors and IDEs

  • Uncrustify

    Code beautifier

Resources / API Design

Resources / Articles

Resources / Books

Resources / Coding Standards

Resources / Coding Style

Resources / Podcasts

  • CppCast

    The first podcast by C++ developers for C++ developers

  • CppChat

    A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community

Resources / Talks

Resources / Videos

Resources / Websites

Resources / Weblogs

Resources / Other Awesome Projects

Other Awesome Lists

  • lists

    List of (awesome) lists curated on GitHub

  • awesome-awesomeness

    A curated list of awesome awesomeness

  • awesome

    A curated list of awesome lists

  • C++ links

    A categorized list of C++ resources

  • Awesome C++

    LibHunt's mirror

  • Awesome Modern C++

    A collection of resources on modern C++

  • AwesomePerfCpp

    A curated list of awesome C/C++ performance optimization resources

  • free-programming-books

    List of Freely Available Programming Books

  • Inqlude

    The Qt library archive

  • papers-we-love

    Papers from the computer science community to read and discuss

  • awesome-algorithms

    A curated list of awesome places to learn and/or practice algorithms

  • awesome-hpp

    A curated list of awesome header-only C++ libraries

  • awesome-talks

    A lot of screencasts, recordings of user group gatherings and conference talks

  • Projects

    A list of practical projects that anyone can solve in any programming language

  • Awesome interview questions

    A list of lists of interview questions for the most popular technologies, including C and C++

  • nothings/single_file_libs

    List of single-file C/C++ libraries

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.