Awesome C++
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
- Awesome C++
- Standard Libraries
- Frameworks
- Artificial Intelligence
- Asynchronous Event Loop
- Audio
- Biology
- BitTorrent
- Chemistry
- CLI
- Compression
- Concurrency
- Configuration
- Containers
- Cryptography
- CSV
- Database
- Data visualization
- Debug
- Documentation
- DSP
- Font
- Game Engine
- Graph
- GUI
- Graphics
- Image Processing
- Internationalization
- Inter-process communication
- JSON
- Logging
- Machine Learning
- Math
- Memory Allocation
- Multimedia
- Networking
- Office Open XML
- Physics
- Reflection
- Regular Expression
- Robotics
- Scientific Computing
- Scripting
- Serialization
- Serial Port
- Sorting
- Video
- Virtual Machines
- Web Application Framework
- XML
- Yaml
- Miscellaneous
- Software
- Resources
- Other Awesome Lists
- Jobs
- Sponsors
- Contributing - If you see a project or link here that is no longer maintained or is not a good fit, please submit a pull request to improve this document. Thank you!
Standard Libraries
C++ Standard Library - including STL Containers, STL Algorithm, STL Functional, etc.
- C++ Standard Library - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.
- Standard Template Library - The Standard Template Library (STL).
- C POSIX library - A specification of a C standard library for POSIX systems.
- ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. website
- The GNU C Library - The purpose of this manual is to tell you how to use the facilities of the GNU C Library.
Frameworks
C++ generic frameworks and libraries.
- 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 :zap: - A large collection of generic C++ libraries. [Boost] website
- BDE - The BDE Development Environment from Bloomberg Labs. [Apache2]
- C++ Workflow :zap: - 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 :zap: - A toolkit for making real world machine learning and data analysis applications in C++. [Boost] website
- 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] website
- Kigs framework - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] website
- 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] website
- Qt :zap: - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] website
- 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] website
- Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] seastar.io
- 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] website
- 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 Yomm11 [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. website
- PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration. website
- flashlight - Flashlight is a fast, flexible machine learning library written entirely in C++. [BSD]
- Recast/Detour - (3D) Navigation mesh generator and pathfinder, mostly for games. [zlib]
- TensorFlow - An open source software library for numerical computation using data flow graphs. [Apache]
- oneDNN - An open-source cross-platform performance library for deep learning applications. [Apache] website
- CNTK - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
- tiny-dnn - A header only, dependency-free deep learning framework in C++11. [BSD]
- Veles - Distributed platform for rapid Deep learning application development. [Apache]
- 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] website
- Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost] website
- C++ Actor Framework - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] website
- 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]
Audio
Audio, Sound, Music, Digitized Voice Libraries
- Amplitude Audio SDK - A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] website
- Aubio - A library for audio and music analysis.[GPL-3.0] website
- 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] website
- libsoundio - C library for cross-platform real-time audio input and output. [MIT] website
- Maximilian - C++ Audio and Music DSP Library.