Let us look at some of the most awesome C++ libraries, frameworks, engines and resources across a multitude of categories. Most of them are open source.

Standard Libraries

  1. C++ Standard Library

A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.

  1. Standard Template Library

The Standard Template Library (STL

  1. C POSIX library

A specification of a C standard library for POSIX systems.

  1. ISO C++ Standards Committee

ISO/IEC JTC1/SC22/WG21The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/

  1. The GNU C Library

The purpose of this manual is to tell you how to use the facilities of the GNU C Library.


  1. abseil-cpp

Abseil C++ Common Libraries.

  1. Apache C++ Standard Library

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

  1. APR

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

  1. ASL

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

  1. Boost

    A large collection of generic C++ libraries. [website](http://www.boost.org/

  2. BDE

The BDE Development Environment from Bloomberg Labs.

  1. C++ Workflow

C++ Parallel Computing and Asynchronous Networking Engine.

  1. Cinder

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

  1. cocoyaxi

A collection of C++ libraries, containing a go-style coroutine library, log, JSON, RPC framework and other base components.

  1. Cxxomfort

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

  1. Dlib

    A toolkit for making real world machine learning and data analysis applications in C++ [website](http://dlib.net/

  2. EASTL

Electronic Arts Standard Template Library.

  1. ETL

Embedded Template Library.

  1. ffead-cpp

Framework for Enterprise Application Development.

  1. Folly

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

  1. FunctionalPlus

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

  1. GLib

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

  1. JUCE

An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Commercial] [website](http://www.juce.com/

  1. Kigs framework

A free and open source C++ modular multi-purpose cross platform RAD framework. [website](https://kigs-framework.org/

  1. libPhenom

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

  1. LibSourcey

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

  1. LibU

A multiplatform utility library written in C.

  1. Loki

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

  1. MiLi

Minimal headers-only C++ Library.

  1. OpenFrameworks

A cross platform open source toolkit for creative coding in C++. [website](http://www.openframeworks.cc/

  1. Qt

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

  2. 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++.

  1. 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.

  1. Seastar

An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/

  1. STLport

An exemplary version of STL. [Free]

  1. STXXL

Standard Template Library for Extra Large Data Sets.

  1. tbox

A glib-like multi-platform c library. [website](http://tboox.org/

  1. Ultimate++

A C++ cross-platform rapid application development framework.

  1. uSTL

The small STL library.

  1. Windows Template Library

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

  1. Yomm2

Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11

Artificial Intelligence



  1. btsk

Game Behavior Tree Starter Kit.

  1. Evolving Objects

A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast.

  1. frugally-deep

Header-only library for using Keras models in C++.

  1. Genann

Simple neural network library in C.

  1. MXNet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more [website](https://mxnet.apache.org

  1. PyTorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org

  1. flashlight

Flashlight is a fast, flexible machine learning library written entirely in C++.

  1. Recast/Detour


  1. TensorFlow

An open source software library for numerical computation using data flow graphs

  1. oneDNN

An open-source cross-platform performance library for deep learning applications. [website](https://01.org/onednn

  1. CNTK

Microsoft Cognitive Toolkit (CNTK

  1. tiny-dnn

A header only, dependency-free deep learning framework in C++11.

  1. Veles

Distributed platform for rapid Deep learning application development.

  1. Kaldi

Toolkit for speech recognition.

Asynchronous Event Loop

  1. 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. [website](http://think-async.com/

  1. Boost.Asio

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

  1. C++ Actor Framework

An Open Source Implementation of the Actor Model in C++. [website](http://actor-framework.org/

  1. Ichor

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

  1. libev

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

  1. libevent

An event notification library.

  1. libhv

Cross-platform event loop library.

  1. libuv

Cross-platform asynchronous I/O.

  1. promise-cpp

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

  1. uvw

C++ wrapper for libuv.


Audio, Sound, Music, Digitized Voice Libraries

  1. AudioFile

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

  1. dr_libs

Single file audio decoding libraries for C and C++.

  1. FMOD

An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]

  1. KFR

Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial]

  1. LAME

LAME is a high quality MPEG Audio Layer III (MP3

  1. libsndfile

C library with C++ wrapper for reading and writing files containing sampled sound through one standard library interface. [LGPL-2.1] [website](http://www.mega-nerd.com/libsndfile/

  1. libsoundio

C library for cross-platform real-time audio input and output. [website](http://libsound.io/

  1. Maximilian

C++ Audio and Music DSP Library.

  1. OpenAL

Open Audio LibraryA crossplatform audio API. [BSD/LGPL/Commercial]

  1. miniaudio

Single file audio playback and capture library. [website](https://miniaud.io/

  1. ni-media

C++ library for reading and writing audio files.

  1. Opus

A totally open, royalty-free, highly versatile audio codec.

  1. PortAudio

PortAudio is a free, cross-platform, open-source, audio I/O library.

  1. SELA

SimplE Lossless Audio.

  1. SoLoud

Easy, portable audio engine for games.

  1. Speex

A free codec for free speech. Obsoleted by Opus.

  1. Tonic

Easy and efficient audio synthesis in C++.

  1. Vorbis

Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format.

  1. minimp3

Public domain, header-only MP3 decoder with clean-room implementation. [CC0]

  1. Verovio

Verovio is a fast and lightweight music notation engraving library. [website](https://www.verovio.org

  1. 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


Bioinformatics, Genomics, Biotech

  1. BioC++

C++ Computational Libraries for Bioinformatics.

  1. Chaste

An open source C++ library for the computational simulation of mathematical models developed for physiology and biology.

  1. libsequence

A C++ library for representing and analyzing population genetics data.

  1. SeqAn

Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]

  1. Vcflib

A C++ library for parsing and manipulating VCF files.

  1. Wham

Structural variants (SVs


  1. jech/dht

BitTorrent DHT library in C.

  1. libtorrent

    (a.k.a. libtorrent-rasterbar

  2. LibTorrent

    (a.k.a. libtorrent-rakshasa

  3. libutp

uTorrent Transport Protocol library.


Chemistry, Quantum Chemistry, Solid-State Chemistry/Physics, Geochemistry, Biochemistry

  1. 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. [website](https://dseams.info

  1. gromacs

A message-passing parallel molecular dynamics implementation. [website](http://www.gromacs.org

  1. Reaktoro

A computational framework in C++ and Python for modeling chemically reactive systems. [website](https://reaktoro.org


A classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [website](https://lammps.sandia.gov/


Multiresolution Adaptive Numerical Environment for Scientific Simulation. [website](https://github.com/m-a-d-n-e-s-s/madness

  1. MPQC

The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. [website](https://mpqc.org/

  1. [ORCA](https://en.wikipedia.org/wiki/ORCA_(quantum_chemistry_program)
  2. Psi

An ab initio computational chemistry package. [website](https://psicode.org/


Console/Terminal User Interface, Command Line Interface

  1. Argh!

A minimalist, frustration-free, header-only argument handler.

  1. Taywee/args

A simple header-only C++ argument parser library.

  1. Boost.Program_options

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

  1. Clara

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

  1. cli

A cross-platform header only C++14 library for interactive command line interfaces (Cisco style

  1. CLI11

Header only single or multi-file C++11 library for simple and advanced CLI parsing.

  1. jarro2783/cxxopts

Lightweight C++ command line option parser.

  1. docopt.cpp

A library to generate option parser from docstring.


Library for creating terminal applications with text-based widgets.

  1. gflags

Commandline flags module for C++.

  1. indicators

Activity indicators for Modern C++.

  1. linenoise

A small self-contained alternative to readline and libedit.

  1. linenoise-ng

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

  1. Lyra

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

  1. Ncurses

A terminal user interface.

  1. oof

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

  1. PDCurses

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

  1. popl

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

  1. replxx

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

  1. tabulate

Table Maker for Modern C++

  1. TCLAP

A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++.

  1. termbox

A C library for writing text-based user interfaces.

  1. cpp-terminal

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

  1. FTXUI

C++ Functional Terminal User Interface.

  1. imtui

Immediate Mode Text-based User Interface


Compression and Archiving Libraries

  1. bit7z

A C++ static library offering a clean and simple interface to the 7-zip DLLs. [GPLv2]

  1. Brotli

Brotli compression format. Developed by Google.

  1. bzip2

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

  1. FiniteStateEntropy

New generation entropy codecs : Finite State Entropy and Huff0.

  1. 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.

  1. 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.

  1. libarchive

Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/

  1. LZ4

Extremely Fast Compression algorithm. [website](http://www.lz4.org/

  1. LZFSE

LZFSE compression library and command line tool. Developed by Apple.

  1. LZHAM

Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression.

  1. LZMA

    The default and general compression method of 7z format.

  2. LZMAT

An extremely fast real-time lossless data compression library.

  1. miniz

Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing.

  1. Minizip

Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering.

  1. smaz

Small strings compression library.

  1. Snappy

A fast compressor/decompressor.

  1. ZLib

A very compact compression library for data streams.

  1. zlib-ng

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

  1. zstd

ZstandardFast real-time compression algorithm. Developed by Facebook.

  1. ZZIPlib

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


Concurrency and Multithreading

  1. alpaka

Abstraction library for parallel kernel acceleration. [LGPLv3+]

  1. ArrayFire

A general purpose GPU library.

  1. Async++

A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal.

  1. Boost.Compute

A C++ GPU Computing Library for OpenCL.

  1. Bolt

A C++ template library optimized for GPUs.

  1. ck

Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures.

  1. concurrentqueue

A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]

  1. Cpp-Taskflow

Fast C++ Parallel Programming with Task Dependencies.

  1. CUB

CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]

  1. cuda-api-wrappers

Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API.

  1. cupla

C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]

  1. C++React

A reactive programming library for C++11.

  1. FiberTaskingLib

Task-based multi-threading library that supports task graphs with arbitrary dependencies.

  1. HPX

A general purpose C++ runtime system for parallel and distributed applications of any scale.

  1. Intel Games Task Scheduler

A task scheduling framework designed for the needs of game developers.

  1. Intel Parallel STL

Intel® implementation of C++17 STL for C++11 and above.

  1. Intel TBB

Intel® Threading Building Blocks.

  1. junction

A library of concurrent data structures in C++.

  1. Kokkos

A performance portable programming model for parallel execution and memory abstraction.

  1. libcds

A C++ library of Concurrent Data Structures.

  1. Libclsph

An OpenCL based GPU accelerated SPH fluid simulation library.

  1. libdill

Introduces structured concurrency in C.

  1. libdispatch

Grand Central Dispatch (GCD

  1. libmill

Introduces Go-style concurrency in C.

  1. marl

Marl is a hybrid thread / fiber task scheduler written in C++ 11.

  1. 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.

  1. NCCL

Optimized primitives for collective multi-GPU communication.

  1. OpenCL

The open standard for parallel programming of heterogeneous systems.

  1. OpenMP

The OpenMP API.

  1. rotor

Event loop friendly C++ actor micro framework.

  1. SObjectizer

An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework.

  1. Quantum

A powerful C++ coroutine dispatcher framework built on top of [boost::coroutines2](https://www.boost.org/doc/libs/1_65_0/libs/coroutine2/doc/html/index.html

  1. RaftLib

The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators

  1. readerwriterqueue

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

  1. stdgpu

Efficient STL-like Data Structures on the GPU.

  1. Thrust

A parallel algorithms library which resembles the C++ Standard Template Library (STL

  1. transwarp

A header-only C++ library for task concurrency.

  1. VexCL

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

  1. STAPL

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

  1. concurrencpp

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


Configuration files, INI files

  1. inifile-cpp

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

  1. inih

Simple .INI file parser in C, good for embedded systems.

  1. inih

Single header only C++ version of [inih](https://github.com/benhoyt/inih

  1. iniparser

INI file parser.

  1. libconfig

C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/

  1. libconfuse

Small configuration file parser library for C.

  1. simpleini

Cross-platform C++ library providing a simple API to read and write INI-style configuration files.

  1. toml++

Header-only TOML parser and serializer for C++17 and later. [website](https://marzer.github.io/tomlplusplus/


  1. C++ B-tree

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

  1. 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. [website](http://www.plflib.org/colony.htm

  1. dynamic_bitset

A C++17 header-only dynamic bitset.

  1. Forest

Template library implementing an AVL, a Binary Search, a KD and a Quad Tree.

  1. Hashmaps

Implementation of open addressing hash table algorithms in C++.

  1. Hopscotch map

A fast header-only hash map which uses hopscotch hashing for collisions resolution.


A c++ toolbox of locality-sensitive hashing (LSH

  1. 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.

  1. plf::list

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

  1. plf::stack

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

  1. ring_span lite

A simplified implementation of Arthur O'Dwyer's ring_span implementation ie. a circular buffer view.

  1. robin-hood-hashing

Fast & memory efficient hashtable based on robin hood hashing for C++14.

  1. robin-map

Fast hash map and hash set using robin hood hashing.

  1. sparsepp

A fast, memory efficient hash map for C++.


Cryptography and Encryption Libraries

  1. Bcrypt

A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors.

  1. BeeCrypt

A portable and fast cryptography library. [LGPLv2.1+]

  1. Botan

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

  1. Crypto++

A free C++ class library of cryptographic schemes. [website](http://www.cryptopp.com/

  1. digestpp

C++11 header-only message digest (hash

  1. GnuPG

A complete and free implementation of the OpenPGP standard.

  1. GnuTLS

A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]

  1. Libgcrypt

A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]

  1. LibreSSL

A free version of the SSL/TLS protocol forked from OpenSSL in 2014.

  1. libsodium


  1. libhydrogen

A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

  1. LibTomCrypt

A fairly comprehensive, modular and portable cryptographic toolkit.

  1. mbedTLS

An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [website](https://tls.mbed.org/

  1. Nettle

A low-level cryptographic library.

  1. OpenSSL

A robust, commercial-grade, full-featured, and Open Source cryptography library. [website](http://www.openssl.org/

  1. retter

A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.

  1. s2n

An implementation of the TLS/SSL protocols.

  1. sha1collisiondetection

Library and command line tool to detect SHA-1 collision in a file.

  1. Tink

A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er

  1. Tiny AES in C

Small portable AES128/192/256 in C.

  1. Themis

crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms.


Libraries for parsing Comma Separated Value (CSV) files

  1. csv2

Fast CSV parser for modern C++.

  1. Csv::Parser

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

  1. Fast C++ CSV Parser

Small, easy-to-use and fast header-only library for reading CSV files.

  1. Vince's CSV Parser

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


Database Libraries, SQL Servers, ODBC Drivers, and Tools

  1. ClickHouse

C++ client for ClickHouse DBMS.

  1. hiberlite

C++ Object-relational mapping for sqlite3.

  1. Hiredis

A minimalistic C client library for the Redis database.

  1. LevelDB

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

  1. LMDB

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

  1. LMDB++

C++11 wrapper for the LMDB embedded database library.

  1. MongoDB C Driver

MongoDB client library for C.

  1. MongoDB C++ Driver

C++ driver for MongoDB.

  1. MongoDB Libbson

A BSON utility library.

  1. MySQL++

A C++ wrapper for MySQL's C API.

  1. nanodbc

A small C++ wrapper for the native C ODBC API.

  1. ODB

An open-source, cross-platform, and cross-database object-relational mapping (ORM

  1. redis3m

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

  1. RocksDB

Embedded key-value store for fast storage from facebook.

  1. SimDB

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

  1. SOCI

A database abstraction layer for C++.

  1. SQLite

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

  1. SQLiteC++

SQLiteC++ (SQLiteCpp

  1. sqlite_modern_cpp

Header only C++14 wrapper around sqlite library.

  1. sqlite_orm

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

  1. sqlpp11

A type safe embedded domain specific language for SQL queries and results in C++.

  1. TileDB

Fast Dense and Sparse Multidimensional Array DBMS. [website](https://tiledb.io/

  1. UnQLite

A self-contained, serverless, zero-configuration, transactional NoSQL engine. [website](https://unqlite.org/

  1. upscaledb

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

Data visualization

Data visiualization Libraries

  1. matplotplusplus

C++ Graphics Library for Data Visualization. [website](https://alandefreitas.github.io/matplotplusplus/


Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing

  1. backward-cpp

A beautiful stack trace pretty printer for C++.

  1. benchmark

Google provided small microbenchmark support library.

  1. Boost.Test

Boost Test Library.

  1. check

Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/

  1. doctest

The lightest feature rich C++ single header testing framework.

  1. Catch2

A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD.

  1. Celero

C++ Benchmarking Framework.

  1. CppUTest

Unit testing and mocking framework for C/C++.

  1. CUTE

C++ Unit Testing Easier. [LGPL3]

  1. CMocka

unit testing framework for C with support for mock objects.

  1. CppUnit

C++ port of JUnit.

  1. CTest

The CMake test driver program.

  1. dbg-macro

A dbg(…

  1. DebugViewPP

Debug logging viewer. [BSL]

  1. Deleaker

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

  1. fff

A micro-framework for creating fake C functions.

  1. Google Mock

A library for writing and using C++ mock classes.

  1. Google Test

Google C++ Testing Framework.

  1. ig-debugheap

Multiplatform debug heap useful for tracking down memory errors.

  1. libtap

Write tests in C.

  1. MemTrack

Tracking memory allocations in C++.

  1. microprofile

Profiler with web-view for multiple platforms.

  1. MinUnit

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

  1. Mockator

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

  1. Nanotimer

A simple low-overhead cross-platform timer class for benchmarking. [website](http://www.plflib.org/nanotimer.htm

  1. Nonius

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

  1. Remotery

Single C File Profiler with Web Viewer.

  1. Touca

Automated regression testing system for testing complex mission-critical workflows. [website](https://touca.io/

  1. UnitTest++

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

  1. Unity

Simple Unit Testing for C.

  1. utest.h

Single header unit testing framework for C and C++.

  1. μt

C++20 single header/single module, macro-free μ(micro

  1. VLD

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


Libraries for parsing and manipulating font files.

  1. Fontconfig

Font configuration and customization library. [website](https://www.freedesktop.org/wiki/Software/fontconfig/

  1. FreeType

FreeType is a freely available software library to render fonts. [FTL & GPLv2]

  1. otfcc

A C library and utility used for parsing and writing OpenType font files.

Game Engine

  1. Acid

A high speed C++17 Vulkan game engine.

  1. Allegro

A cross-platform library mainly aimed for video games and multimedia programming.

  1. Cocos2d-x

A multi-platform framework for building 2d games, interactive books, demos and other graphical applications.

  1. Corange

A game engine written in pure C, SDL and OpenGL.

  1. 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.

  1. delta3d

A robust simulation platform.

  1. EnTT

Gaming meets modern C++.

  1. GamePlay

A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games.

  1. Godot

A fully featured, open source, MIT licensed, game engine.

  1. Grit

Community project to build a free game engine for implementing open world 3D games.

  1. Halley

A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]

  1. KlayGE

a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/

  1. nCine

A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [website](https://ncine.github.io/

  1. o3de

An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [website](https://o3de.org/

  1. OpenXRay

a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]

  1. Oxygine

A cross-platform 2D C++ game engine.

  1. Panda3D

A game engine, a framework for 3D rendering and game development for Python and C++ programs. [website](https://www.panda3d.org/

  1. PixelGameEngine

The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]

  1. Polycode

A cross-platform framework for creative code in C++ (with Lua bindings

  1. raylib

A simple and easy-to-use library to enjoy videogames programming. \ [website](http://www.raylib.com/

  1. Spring

A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/

  1. Torque2D

An open-source and cross-platform C++ engine built for 2D game development. [website](https://www.garagegames.com/products/torque-2d

  1. Torque3D

An open-source C++ engine built for 3D game development. [website](https://www.garagegames.com/products/torque-3d

  1. 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.

  1. Urho3D

A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D.


Graphic User Interface

  1. Boden

Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Commercial] [website](https://www.boden.io

  1. CEGUI

Flexible, cross-platform GUI library.

  1. Elements

Lightweight, fine-grained, resolution independent, modular GUI library.

  1. FLTK

Fast, light, cross-platform C++ GUI toolkit.

  1. GacUI

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

  1. GTK+

A multi-platform toolkit for creating graphical user interfaces.

  1. gtkmm

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

  1. imgui

Immediate Mode Graphical User Interface with minimal dependencies.

  1. implot

Immediate Mode Plotting widgets for imgui.

  1. iup

Multi-platform toolkit for building graphical user interfaces.

  1. libui

Simple and portable (but not inflexible

  1. MyGUI

Fast, flexible and simple GUI.

  1. nana

Nana is a cross-platform library for GUI programming in modern C++ style.

  1. NanoGui

A minimalistic cross-platform widget library for OpenGL 3.x or higher.

  1. nuklear

A single-header ANSI C gui library.

  1. QCustomPlot

Qt plotting widget without further dependencies.

  1. Qwt

Qt Widgets for Technical Applications. [Own based on LGPL]

  1. QwtPlot3D

A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets.

  1. RmlUi

The HTML/CSS User Interface library evolved. Fork of libRocket.

  1. Sciter

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

  1. 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]

  1. xtd

Modern C++17/20 framework to create console (CLI

  1. Yue

A library for creating native cross-platform GUI apps. [LGPLv2]


  1. assimp

Open Asset Import Library (assimp

  1. bgfx

A cross-platform rendering library.

  1. Blend2D

2D vector graphics engine powered by a JIT compiler. [website](https://blend2d.com/

  1. bs::framework

Modern C++14 library for the development of real-time graphical applications.

  1. Cairo

A 2D graphics library with support for multiple output devices.

  1. C-Turtle

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

  1. Diligent Engine

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

  1. DirectXTK

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

  1. GLFW

A simple, cross-platform OpenGL wrangling library. \

  1. herebedragons

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

  1. Horde3D

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

  1. Ion

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

  1. Irrlicht

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

  1. libigl

Simple C++ geometry processing library.

  1. LLGL

Low Level Graphics Library (LLGL

  1. magnum

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

  1. NanoVG

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

  1. Ogre 3D

    A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine

  2. OpenSceneGraph

An open source high performance 3D graphics toolkit.

  1. OpenSubdiv

Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU.

  1. OpenVDB

Library and tools for storing, editing, and rendering volumetric datasets.

  1. Panda3D

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

  1. Partio

Library for wrangling particle data, with support for most common file formats.

  1. Skia

A complete 2D graphic library for drawing Text, Geometries, and Images. [website](https://skia.org/

  1. TinySpline

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

  1. urho3d

Cross-platform rendering and game engine.

  1. Yocto/GL

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

Image Processing

  1. Boost.GIL

Generic Image Library.

  1. CImg

A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]

  1. 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.

  1. Dlib

    A modern C++11 machine learning, computer vision, numerical optimization, and deep learning toolkit. [website](http://dlib.net/

  2. FreeImage

An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]

  1. GD

GD Graphics Library, famously used in PHP for image loading/manipulation & thumbnail generation. [custom permissive license, requires mention in user docs] [website](http://libgd.github.io/

  1. DCMTK

DICOM Toolkit.

  1. GDCM

Grassroots DICOM library.

  1. ITK

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

  1. Leptonica

Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [website](http://leptonica.org/index.html

  1. libfacedetection

Open source library for face detection in images. The face detection speed can reach 1500FPS.

  1. libjpeg-turbo

A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG encoding and decoding. [IJG & BSD-3-Clause & zlib] [website](https://libjpeg-turbo.org/

  1. libvips

A fast image processing library with low memory needs. [website](http://www.vips.ecs.soton.ac.uk/

  1. Magick++

ImageMagick program interfaces for C++.

  1. MagickWnd

ImageMagick program interfaces for C.

  1. OpenCV

    Open source computer vision.

  2. OpenEXR

Cross-platform library for high dynamic range imaging.

  1. OpenImageIO

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

  1. SAIL

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

  1. Simd

C++ image processing library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec

  1. stb-image

STB single-header image loading library.

  1. tesseract-ocr

An OCR engine.

  1. TinyEXIF

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

  1. Video++

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

  1. VIGRA

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

  1. VTK

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


  1. gettext

GNU 'gettext'.

  1. IBM ICU

A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]

  1. libiconv

An encoding conversion library between different character encodings.

  1. utf8.h

Single header utf8 string functions for C and C++.

  1. utf8proc

A clean C library for processing UTF-8 Unicode data.

Inter-process communication

  1. Apache Thrift

Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook.

  1. Cap'n Proto

Fast data interchange format and capability-based RPC system. [website](https://capnproto.org/

  1. eCAL

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

  1. gRPC

A high performance, open source, general-purpose RPC framework. [website](http://www.grpc.io/

  1. Ice

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

  1. libjson-rpc-cpp

JSON-RPC framework for C++ servers and clients.

  1. nanomsg

A simple high-performance implementation of several "scalability protocols". [website](http://nanomsg.org/

  1. nng

nanomsg-next-generation, a light-weight brokerless messaging library. [website](https://nanomsg.github.io/nng/

  1. rpclib

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

  1. simple-rpc-cpp

A simple RPC wrapper generator to C/C++ functions.

  1. WAMP

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

  1. xmlrpc-c

A lightweight RPC library based on XML and HTTP.


  1. Boost.PropertyTree

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

  1. cJSON

Ultralightweight JSON parser in ANSI C.

  1. frozen

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

  1. Jansson

C library for encoding, decoding and manipulating JSON data.

  1. jbson

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

  1. JeayeSON

A very sane (header only

  1. Jsmn

A minimalistic JSON parser in C.

  1. json

    JSON for Modern C++.

  2. JSON++

A JSON parser in C++.

  1. json.h

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

  1. json-c

A JSON implementation in C.

  1. jsoncons

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

  1. JsonCpp

A C++ library for interacting with JSON.

  1. json-parser

Very low footprint JSON parser written in portable ANSI C.

  1. json11

A tiny JSON library for C++11.

  1. json-struct

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

  1. json-voorhees

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

  1. jute

Very simple C++ JSON Parser.

  1. libjson

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

  1. libjson

Lightweight JSON library.


    Universal configuration library parser

  2. parson

Parson is a lighweight json library written in C.

  1. PicoJSON

A header-file-only, JSON parser serializer in C++.

  1. qt-json

A simple class for parsing JSON data into a QVariant hierarchy and vice versa.

  1. QJson

A qt-based library that maps JSON data to QVariant objects.

  1. RapidJSON

    A fast JSON parser/generator for C++ with both SAX/DOM style API.

  2. sajson

Lightweight, extremely high-performance JSON parser for C++11.

  1. simdjson

Extremely fast JSON library that can parse gigabytes of JSON per second.

  1. taoJSON

Zero-dependency C++ header-only JSON library.

  1. ujson

µjson is a a small, C++11, UTF-8, JSON library.

  1. YAJL

A fast streaming JSON parsing library in C.

  1. yyjson

A high performance JSON library written in ANSI C.


  1. Blackhole

Attribute-based logging framework, which is designed to be fast, modular and highly customizable.

  1. Boost.Log

Designed to be very modular and extensible.

  1. Easylogging++

Extremely light-weight high performance logging library for C++11 (or higher

  1. fmtlog

A performant fmtlib-style logging library with latency in nanoseconds.

  1. G3log

Asynchronous logger with Dynamic Sinks.

  1. glog

C++ implementation of the Google logging module.

  1. Log4cpp

A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations.

  1. log4cplus

A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]

  1. loguru

A lightweight C++ logging library.

  1. plog

Portable and simple log for C++ in less than 1000 lines of code.

  1. reckless

Low-latency, high-throughput, asynchronous logging library for C++.

  1. spdlog

Super fast, header only, C++ logging library.

  1. templog

A very small and lightweight C++ library which you can use to add logging to your C++ applications.

  1. P7Baical

An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory.

  1. Quill

Asynchronous cross platform low latency logging library.

Proceed to the next page to view more awesome libraries. Click the next button below.