Your first time on this page? Allow me to give some explanations.
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you fffaraz & contributors
View Topic on GitHub:
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Abseil Common Libraries (C++)
Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.
C++ Parallel Computing and Asynchronous Networking Engine
Art of C++. Flag, logging, unit-test, json, go-style coroutine and more.
A toolkit for making real world machine learning and data analysis applications in C++
EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.
Embedded Template Library
Framework for Enterprise Application Development in c++, HTTP1/HTTP2/HTTP3 compliant, Supports multiple server backends
An open-source C++ library developed and used at Facebook.
Functional Programming Library for C++. Write concise and readable C++ code.
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.
Kigs framework is a C++ modular multipurpose cross platform framework.
An eventing framework for building high performance and high scalability systems in C.
C++14 evented IO libraries for high performance networking and media based applications
LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks
openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
High performance server-side application framework
🎁 A glib-like multi-platform c library
Fast, orthogonal, open multi-methods. Supersedes yomm11.
A GPU (CUDA) based Artificial Neural Network library
Behavior Tree Starter Kit
Header-only library for using Keras models in C++.
simple neural network library in ANSI C
Tensors and Dynamic neural networks in Python with strong GPU acceleration
A C++ standalone library for machine learning
Navigation-mesh Toolset for Games
An Open Source Machine Learning Framework for Everyone
oneAPI Deep Neural Network Library (oneDNN)
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit
header only, dependency-free deep learning framework in C++14
Distributed machine learning platform
kaldi-asr/kaldi is the official location of the Kaldi project.
Asynchronous Event Loop
Asio C++ Library
An Open Source Implementation of the Actor Model in C++
C++20 thread confinement and dependency injection framework.
🔥 比libevent、libuv更易用的国产网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
Cross-platform asynchronous I/O
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
A simple C++ library for reading and writing audio files.
Single file audio decoding libraries for C/C++.
A C library for reading and writing sound files containing sampled audio data.
C library for cross-platform real-time audio input and output
C++ Audio and Music DSP Library
Single file audio playback and capture library written in C.
NI Media is a C++ library for reading and writing audio streams.
SimplE Lossless Audio
Free, easy, portable audio engine for games
Easy and efficient audio synthesis in C++
Minimalistic MP3 decoder single header library
Facebook AI Research's Automatic Speech Recognition Toolkit
C++ library and cmdline tools for parsing and manipulating VCF files
Structural variant detection and association testing
BitTorrent DHT library
an efficient feature complete C++ bittorrent implementation
libTorrent BitTorrent library
uTorrent Transport Protocol library
The d-SEAMS C++ core engine
Public/backup repository of the GROMACS molecular simulation toolkit. Please do not mine the metadata blindly; we use https://gitlab.com/gromacs/gromacs for code review and issue tracking.
a unified framework for modeling chemically reactive systems
Public development project of the LAMMPS MD software package
Argh! A minimalist argument handler.
A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).
A simple to use, composable, command line parser for C++ 11 and beyond
A library for interactive command line interfaces in modern C++
CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.
Lightweight C++ command line option parser
C++11 port of docopt
A text-based widget toolkit
Activity Indicators for Modern C++
A small self-contained alternative to readline and libedit
A small self-contained alternative to readline and libedit that supports UTF-8 and Windows and is BSD licensed.
A simple to use, composable, command line parser for C++ 11 and beyond
Convenient, high-performance RGB color and position control for console output
PDCurses - a curses library for environments that don't fit the termcap/terminfo model.
Header-only C++ program options parser library
A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.
Table Maker for Modern C++
Library for writing text-based user interfaces
Small header only C++ library for writing multiplatform terminal applications
C++ Functional Terminal User Interface.
ImTui: Immediate Mode Text-based User Interface C++ Library
A C++ static library offering a clean and simple interface to the 7-zip DLLs.
Brotli compression format
New generation entropy codecs : Finite State Entropy and Huff0
Multi-format archive and compression library
Extremely Fast Compression algorithm
LZFSE compression library and command line tool
miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz
Fork of the popular zip manipulation library found in the zlib distribution.
Small strings compression library
zlib replacement with optimizations for "next generation" systems.
Zstandard - Fast real-time compression algorithm
The project alpaka has moved to https://github.com/alpaka-group/alpaka
ArrayFire: a general purpose GPU library.
Async++ concurrency framework for C++11
A C++ GPU Computing Library for OpenCL
Bolt is a C++ template library optimized for GPUs. Bolt provides high-performance library implementations for common algorithms such as scan, reduce, transform, and sort.
Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.
A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
A General-purpose Parallel and Heterogeneous Task Programming System
THIS REPOSITORY HAS MOVED TO github.com/nvidia/cub, WHICH IS AUTOMATICALLY MIRRORED HERE.
Thin C++-flavored wrappers for the CUDA Runtime API
The project alpaka has moved to https://github.com/alpaka-group/cupla
C++React: A reactive programming library for C++11.
A library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies.
The C++ Standard Library for Parallelism and Concurrency
A task scheduling framework designed for the needs of game developers.
oneAPI DPC++ Library (oneDPL) https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-library.html
Concurrent data structures in C++
Kokkos C++ Performance Portability Programming EcoSystem: The Programming Model - Parallel Execution and Memory Abstraction
A C++ library of Concurrent Data Structures
OpenCL based GPU accelerated SPH fluid simulation library
Structured concurrency in C
The libdispatch Project, (a.k.a. Grand Central Dispatch), for concurrency on multicore hardware
Go-style concurrency in C
A hybrid thread / fiber task scheduler written in C++ 11
Patterns and behaviors for GPU computing
Optimized primitives for collective multi-GPU communication
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Powerful multi-threaded coroutine dispatcher and parallel execution engine
A fast single-producer, single-consumer lock-free queue for C++
stdgpu: Efficient STL-like Data Structures on the GPU
A header-only C++ library for task concurrency
VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
A header-only and easy to use Ini file parser for C++.
Simple .INI file parser in C, good for embedded systems
This is a header only C++ version of inih.
ini file parser
C/C++ library for processing configuration files
Small configuration file parser library for C.
Cross-platform C++ library providing a simple API to read and write INI-style configuration files
Header-only TOML config file parser and serializer for C++17 (and later!).
Git mirror of the official (mercurial) repository of cpp-btree
An unordered C++ data container providing fast iteration/insertion/erasure while maintaining pointer/iterator validity to non-erased elements regardless of insertions/erasures. Provides higher-performance than std:: library containers for high-modification scenarios with unordered data.
Simple Useful Libraries: C++17/20 header-only dynamic bitset
Various open addressing hashmap algorithms in C++
C++ implementation of a fast hash map and hash set using hopscotch hashing
A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support python and matlab.
🏅State-of-the-art learned 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
A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.
A C++ data container replicating std::stack functionality but with better performance than standard library containers in a stack context.
ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library
Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
C++ implementation of a fast hash map and hash set using robin hood hashing
A fast, memory efficient hash map for C++
free C++ class library of cryptographic schemes
C++11 header-only message digest library
A modern, portable, easy to use crypto library.
A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.
An open source, portable, easy to use, readable and flexible SSL library
TLS/SSL and crypto library
A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography & security. (project was renamed, libchaos is main)
s2n : an implementation of the TLS/SSL protocols
Library and command line tool to detect SHA-1 collision in a file
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.
Small portable AES128/192/256 in C
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Fast CSV parser and writer for Modern C++
Compile-time CSV parser in C++17
A modern C++ library for reading, writing, and analyzing CSV (and similar) files.
C++ client library for ClickHouse
C++ ORM for SQLite
Minimalistic C client for Redis >= 1.2
LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
C++11 wrapper for the LMDB embedded B+ tree database library.
A high-performance MongoDB driver for C
C++ Driver for MongoDB
ARCHIVED - libbson has moved to https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson
A small C++ wrapper for the native C ODBC API | Requires C++14 since v2.12
A C++ Redis client
A library that provides an embeddable, persistent key-value store for fast storage.
A high performance, shared memory, lock free, cross platform, single file, no dependencies, C++11 key-value store
Official repository of the SOCI - The C++ Database Access Library
SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.
The C++14 wrapper around sqlite library
❤️ SQLite ORM light header only library for modern C++
A type safe SQL template library for C++
The Universal Storage Engine
An Embedded NoSQL, Transactional Database Engine
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
A beautiful stack trace pretty printer for C++
A microbenchmark support library
A unit testing framework for C
The fastest feature-rich C++11/14/17/20 single-header testing framework
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
C++ Benchmark Authoring Library/Framework
CppUTest unit testing and mocking framework for C/C++
A dbg(…) macro for C++
DebugView++, collects, views, filters your application logs, and highlights information that is important to you!
A testing micro framework for creating function test doubles
GoogleTest - Google Testing and Mocking Framework
Debug heap useful for tracking down memory errors.
Write tests in C
microprofile is an embeddable profiler
Minimal unit testing framework for C
A simple C++ 03/11/etc timer class for ~microsecond-precision cross-platform benchmarking. The implementation is as limited and as simple as possible to create the lowest amount of overhead.
A C++ micro-benchmarking framework
Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer
Touca SDK for C++
A lightweight unit testing framework for C++
Simple Unit Testing for C
🧪 single header unit testing framework for C and C++
UT: C++20 μ(micro)/Unit Testing Framework
Optimized OpenType builder and inspector.
A high speed C++17 Vulkan game engine
Pure C Game Engine
The flexible game engine.
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
Open-source, cross-platform, C++ game engine for creating 2D/3D games.
Godot Engine – Multi-platform 2D and 3D game engine
Grit Game Engine
A lightweight game engine written in modern C++
KlayGE is a cross-platform open source game engine with plugin-based architecture.
A cross-platform 2D game engine
Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects
Polycode is a cross-platform framework for creative code.
A simple and easy-to-use library to enjoy videogames programming
A powerful free cross-platform RTS game engine. - Report issues at https://springrts.com/mantis/
MIT Licensed Open Source version of Torque 2D game engine from GarageGames
MIT Licensed Open Source version of Torque 3D from GarageGames
the thin c++ game engine
Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io
Elements C++ GUI library
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Immediate Mode Plotting
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.
Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL
A single-header ANSI C immediate mode cross-platform GUI library
RmlUi - The HTML/CSS User Interface library evolved
Free open-source modern C++17 / C++20 framework to create console, forms (GUI like WinForms) and unit test applications on Microsoft Windows, Apple macOS and Linux.
A library for creating native cross-platform GUI apps
The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
2D Vector Graphics Engine Powered by a JIT Compiler
Modern C++14 library for the development of real-time graphical applications
Port of Python's Turtle to C++
A modern cross-platform low-level graphics library and rendering framework
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
A basic 3D scene implemented with various engines, frameworks or APIs.
Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.
Simple C++ geometry processing library.
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
Lightweight and modular C++11 graphics middleware for games and data visualization
Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
An Open-Source subdivision surface library.
C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC. See the discussion group @ http://groups.google.com/group/partio-discuss
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
Cross-platform 2D and 3D game engine
Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
A toolkit for making real world machine learning and data analysis applications in C++
GD Graphics Library
Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. The official github repository for Leptonica is: danbloomberg/leptonica. See leptonica.org for more documentation and recent releases.
An open source library for face detection in images. The face detection speed can reach 1000FPS.
Main libjpeg-turbo repository
A fast image processing library with low memory needs.
Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
⛵ The missing small and fast image decoding library for humans (not for machines).
C++ image processing and machine learning library with using of SIMD: SSE, AVX, AVX-512 for x86/x64, VMX(Altivec) and VSX(Power7) for PowerPC, NEON for ARM.
stb single-file public domain libraries for C/C++
Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG.
Video++, a C++14 high performance video and image processing library.
a generic C++ library for image analysis