awesome cpp

2025-12-10 0 797

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
    • PDF
    • Physics
    • Reflection
    • Regular Expression
    • Robotics
    • Scientific Computing
    • Scripting
    • Serialization
    • Serial Port
    • Sorting
    • Video
    • Virtual Machines
    • Web Application Framework
    • XML
    • Yaml
    • Miscellaneous
  • Software
    • Compiler
    • Online Compiler
    • Debugger
    • Integrated Development Environment
    • Build Systems
    • Static Code Analysis
    • Coding Style Tools
  • Resources
    • API Design
    • Articles
    • Books
    • Coding Standards
    • Coding Style
    • Podcasts
    • Talks
    • Videos
    • Websites
    • Weblogs
    • Other Awesome Projects
  • 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]
  • AUI – Declarative UI toolkit for C++20. [MPL2]
  • Boost ⚡ – A large collection of generic C++ libraries. [Boost] website
  • 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] 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
  • PhotonLibOS – A comprehensive C++ framework featuring efficient user-space threading (coroutine with work-stealing), I/O, networking, RPC, HTTP, etc., and used extensively in Alibaba. It is compatible with C++ 14/17/20/23, Linux, MacOS, x86-64, ARM64, gcc and clang. [Apache2] website
  • Qt ⚡ – 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
  • Siv3D – Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] website
  • 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]
  • xtd – Modern C++20 framework to create console (CLI), forms (GUI) and unit tests (xUnit) applications on Windows, macOS, Linux, iOS, Android, FreeBSD and Haiku. [MIT]
  • 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]
  • Txeo – A modern C++ wrapper for TensorFlow. [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]
  • uv-cpp – a simple interface, high-performance network library based on C++11. [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. [MIT]
  • OpenAL – Open Audio Library – A crossplatform audio API. [BSD/LGPL/Proprietary]
  • miniaudio – Single file audio playback and capture library. [Unlicense] website
  • ni-media – C++ library for reading and writing audio files. [MIT]
  • Opus – A totally open, royalty-free, highly versatile audio codec. [BSD]
  • PortAudio – PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT]
  • 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] website
  • Wav2Letter++ – Public domain, a fast open source speech processing toolkit written entirely in C++ and uses the ArrayFire tensor library and the flashlight machine learning library for maximum efficiency. [BSD]

Biology

Bioinformatics, Genomics, Biotech

  • BioC++ – C++ Computational Libraries for Bioinformatics. [BSD]
  • Chaste – An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
  • libsequence – A C++ library for representing and analyzing population genetics data. [GPL]
  • SeqAn – Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
  • Vcflib – A C++ library for parsing and manipulating VCF files. [MIT]
  • Wham – Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]

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

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

  • d-SEAMS – A molecular dynamics trajectory analysis engine in C++ and Lua with Nix. It is an acronym for Deferred Structural Elucidation Analysis for Molecular Simulations. [GPL] website
  • gromacs – A message-passing parallel molecular dynamics implementation. [GPL] website
  • Reaktoro – A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] website
  • LAMMPS – A classical molecular dynamics code with a focus on materials modeling. It\’s an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. [GPL] website
  • MADNESS – Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] website
  • 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] website
  • Psi – An ab initio computational chemistry package. [GPL] website

CLI

Console/Terminal User Interface, Command Line Interface

  • 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] website
  • Boost.Program_options – A library to obtain program options via conventional methods such as command line and config file. [Boost] website
  • 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

Compression and Archiving Libraries

  • 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] website
  • LZ4 – Extremely Fast Compression algorithm. [BSD] website
  • LZFSE – LZFSE compression library and command line tool. Developed by Apple.
  • LZHAM – Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
  • LZMA ⚡ – The default and general compression method of 7z format. [PublicDomain] website
  • 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

Concurrency and Multithreading

  • 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] website
  • 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] website
  • libfork – A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20\’s coroutines. [MPL-2.0] website
  • libmill – Introduces Go-style concurrency in C. [MIT]
  • marl – Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
  • moderngpu – moderngpu is a productivity library for general-purpose computing on GPUs. It is a header-only C++ library written for CUDA. The unique value of the library is in its accelerated primitives for solving irregularly parallel problems. [FreeBSD & Copyright, Sean Baxter]
  • NCCL – Optimized primitives for collective multi-GPU communication. [BSD]
  • 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 Boost.Coroutine2.
  • 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

Configuration files, INI files

  • 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 inih. [BSD-3-Clause]
  • ini-cpp – Single header only C++ version, with some handy read/write interface, extend from inih. [BSD-3-Clause] website
  • 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] website
  • 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] website
  • 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] website
  • 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] website
  • PGM-index – A data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes. [Apache2] website
  • plf::colony – An unordered \”bag\”-type container which outperforms std containers in high-modification scenarios while maintaining permanent pointers to non-erased elements regardless of insertion/erasure. [zLib] website
  • plf::list – A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] website
  • plf::stack – A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] website
  • ring_span lite – A simplified implementation of Arthur O\’Dwyer\’s ring_span implementation ie. a circular buffer view. [MIT]
  • robin-hood-hashing – Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
  • robin-map – Fast hash map and hash set using robin hood hashing. [MIT]
  • sparsepp – A fast, memory efficient hash map for C++. [BSD 3-clause]
  • sqlitemap – Persistent map backed by SQLite. [MIT]
  • 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

Cryptography and Encryption Libraries

  • Bcrypt – A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD]
  • BeeCrypt – A portable and fast cryptography library. [LGPLv2.1+]
  • Botan – A crypto library for C++. [BSD-2]
  • Crypto++ – A free C++ class library of cryptographic schemes. [Boost] website
  • 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] website
  • Nettle – A low-level cryptographic library. [LGPL]
  • OpenSSL – A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] website
  • retter – A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
  • s2n – An implementation of the TLS/SSL protocols. [Apache]
  • sha1collisiondetection – Library and command line tool to detect SHA-1 collision in a file. [MIT]
  • Tink – A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. [Apache-2.0]
  • Tiny AES in C – Small portable AES128/192/256 in C. [PublicDomain]
  • Themis – crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
  • HEhub – A library for homomorphic encryption and its applications. [Apache2]

CSV

Libraries for parsing Comma Separated Value (CSV) files

  • 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]
  • rapidcsv – An easy-to-use, header-only C++ CSV parser library. [BSD-3-Clause]
  • 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

Database Libraries, SQL Servers, ODBC Drivers, and Tools

  • ClickHouse – C++ client for ClickHouse DBMS. [Apache2]
  • CrossDB – Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] website
  • DuckDB – in-process SQL OLAP Database Management System. [MIT] website
  • 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] website
  • 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] website
  • 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]
  • TidesDB – High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization. [MPL-2.0] website
  • TileDB – Fast Dense and Sparse Multidimensional Array DBMS. [MIT] website
  • TinyORM – Modern C++ ORM library. [MIT] website
  • UnQLite – A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] website
  • 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] website

Data visualization

Data visualization Libraries

  • gplot++ – Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT]
  • matplotplusplus – C++ Graphics Library for Data Visualization. [MIT] website
  • morphologica – C++ header-only graphing and data visualization with modern OpenGL. [Apache-2.0] website

Debug

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

  • 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] website
  • check – Check is a unit testing framework for C. [LGPL-2.1] website
  • 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]
  • CrashCatch – Single-header crash reporting for C++ that logs stack traces and creates .dmp and .txt crash dumps. [MIT] website
  • 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]
  • Hippomocks – Single-header mocking framework. [LGPL-2.1]
  • IceCream-Cpp – Never use cout/printf to debug again [MIT]
  • 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]
  • nanobench – Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20. [MIT] website
  • Nanotimer – A simple low-overhead cross-platform timer class for benchmarking. [zLib] website
  • 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] website
  • 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]
  • utl::profiler – Singe-header profiler for C++17. [MIT]
  • μ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] website
  • doxygen ⚡ – The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] website
  • doxyrest – A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]
  • hdoc – The modern documentation tool for C++. [AGPL/Proprietary] website
  • Natural Docs – Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] website
  • Sphinx – Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] website

DSP

Digital signal processing.

  • 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

Libraries for parsing and manipulating font files.

  • Fontconfig – Font configuration and customization library. [MIT] website
  • FreeType – FreeType is a freely available software library to render fonts. [FTL & GPLv2]
  • otfcc – A C library and utility used for parsing and writing OpenType font files. [Apache-2.0]
  • 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] website
  • 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]
  • Hazel Game Engine – Hazel is primarily an early-stage interactive application and rendering engine for Windows. [Apache-2.0 license]
  • JNGL – 2D library for Linux, Windows, macOS, Android, iOS, Xbox, the Nintendo Switch and the Web. [zlib] website
  • KlayGE – a cross-platform open source game engine with plugin-based architecture. [GPLv2] website
  • nCine – A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] website
  • o3de – An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] website
  • OpenXRay – a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
  • Oxygine – A cross-platform 2D C++ game engine. [MIT]
  • Panda3D – A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] website
  • PixelGameEngine – The official distribution of olcPixelGameEngine, a tool used in javidx9\’s YouTube videos and projects. [OLC3]
  • Polycode – A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] website
  • 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] website
  • Spring – A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] website
  • Torque2D – An open-source and cross-platform C++ engine built for 2D game development. [MIT] website
  • Torque3D – An open-source C++ engine built for 3D game development. [MIT] website
  • toy engine – toy is a thin and modular c++ game engine and offers simple expressive c++ idioms to design full featured 2D or 3D games in fast iterations.
  • Urho3D – A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
  • 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] website

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

GUI

Graphic User Interface

  • Boden – Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] website
  • 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]
  • NAppGUI – SDK for building cross-platform desktop apps in ANSI-C. [MIT] website
  • 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] website
  • TGUI – Cross-platform modern c++ GUI. [Zlib] website
  • WebUI – Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] website
  • wxCharts – A library to create charts in wxWidgets applications. [MIT] website
  • 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]
  • Yue – A library for creating native cross-platform GUI apps. [LGPLv2]

Graphics

  • assimp – Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] website
  • bgfx – A cross-platform rendering library. [BSD]
  • Blend2D – 2D vector graphics engine powered by a JIT compiler. [Zlib] website
  • 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] website
  • herebedragons – A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] website
  • 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] website
  • 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] website
  • micro-gl – Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] website
  • 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] website
  • 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] website
  • ThorVG – a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] website
  • 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]
  • olive.c – Simple 2D Graphics Library. [MIT]

Image Processing

  • Boost.GIL – Generic Image Library. [Boost] website
  • 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] website
  • 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] website
  • DCMTK – DICOM Toolkit.
  • GDCM – Grassroots DICOM library.
  • ITK – An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
  • [Jpegli][https://*github.**com/google/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] website
  • 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] website
  • 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] website
  • libspng – Simple, modern libpng alternative. [BSD-2] website
  • libvips – A fast image processing library with low memory needs. [LGPL] website
  • 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] website
  • 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] website
  • 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] website
  • Cap\’n Proto – Fast data interchange format and capability-based RPC system. [MIT] website
  • eCAL – Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] website
  • gRPC – A high performance, open source, general-purpose RPC framework. [BSD] website
  • 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] website
  • libjson-rpc-cpp – JSON-RPC framework for C++ servers and clients. [MIT]
  • nanomsg – A simple high-performance implementation of several \”scalability protocols\”. [MIT] website
  • nng – nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] website
  • 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] website
  • 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] website
  • 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] website
  • 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 SIM

下载源码

通过命令行克隆项目:

git clone https://github.com/fffaraz/awesome-cpp.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 awesome cpp https://www.zuozi.net/33071.html

CryptoLib4Pascal
上一篇: CryptoLib4Pascal
WPP4Delphi
下一篇: WPP4Delphi
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务