awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
https://github.com/fffaraz/awesome-cpp
Last synced: about 12 hours ago
JSON representation
-
Other Awesome Projects
- papers-we-love - Papers from the computer science community to read and discuss.
- awesome-talks - A lot of screencasts, recordings of user group gatherings and conference talks.
- awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms.
- awesome-awesomeness - A curated list of awesome awesomeness.
- Awesome C++ - LibHunt's mirror.
- Awesome C
- Awesome Modern C++ - A collection of resources on modern C++.
- awesome - A curated list of awesome lists.
- Projects - A list of practical projects that anyone can solve in any programming language.
- awesome-hpp - A curated list of awesome header-only C++ libraries.
- algorithms - Algorithms & Data Structures in C++.
- c-algorithms - C algorithms library.
- lists - List of (awesome) lists curated on GitHub.
- AwesomePerfCpp - A curated list of awesome C/C++ performance optimization resources.
- C++ links - A categorized list of C++ resources.
- 30 Seconds of C++
- free-programming-books - List of Freely Available Programming Books.
- Awesome C
- Awesome interview questions - A list of lists of interview questions for the most popular technologies, including C and C++.
- Inqlude - The Qt library archive.
- nothings/single_file_libs - List of single-file C/C++ libraries.
-
Cryptography
- Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
- 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]
- GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
- 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. [?]
- Nettle - A low-level cryptographic library. [LGPL]
- OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library. [Apache] [website](http://www.openssl.org/)
- libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use. [ISC]
- Crypto++ - A free C++ class library of cryptographic schemes. [Boost] [website](http://www.cryptopp.com/)
- LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit. [WTFPL]
- retter - A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography.
- Tiny AES in C - Small portable AES128/192/256 in C. [PublicDomain]
- sha1collisiondetection - Library and command line tool to detect SHA-1 collision in a file. [MIT]
- digestpp - C++11 header-only message digest (hash) library. [PublicDomain]
- libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments. [ISC]
- mbedTLS - An open source, portable, easy to use, readable and flexible SSL library, previously known as PolarSSL. [Apache2] [website](https://tls.mbed.org/)
- 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]
- s2n - An implementation of the TLS/SSL protocols. [Apache]
- 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+]
- Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
- Nettle - A low-level cryptographic library. [LGPL]
- HEhub - A library for homomorphic encryption and its applications. [Apache2]
- GnuTLS - A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]
-
Static Code Analysis
- Infer - A static analyzer for Java, C and Objective-C. [BSD]
- Cppcheck - A tool for static C/C++ code analysis. - [source](https://github.com/danmar/cppcheck)
- CppDepend - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
- OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint)
- Clang Static Analyzer - A source code analysis tool that finds bugs in C, C++, and Objective-C programs.
- Linticator - Eclipse CDT integration of Pc-/FlexeLint.
- List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.
- Trunk - Toolkit to check, test, merge, and monitor code.
- include-what-you-use - A tool for use with clang to analyze includes in C and C++ source files. [website](https://include-what-you-use.org/)
- cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format). [Apache]
- cpplint - A C++ style checker following Google's C++ style guide.
- IKOS - Static analyzer for C/C++ based on the theory of Abstract Interpretation. [NOSA 1.3]
- Linticator - Eclipse CDT integration of Pc-/FlexeLint.
- OptView2 - Inspect missed Clang optimizations.
- OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint)
- Clang Static Analyzer - A source code analysis tool that finds bugs in C, C++, and Objective-C programs.
- Trunk - Toolkit to check, test, merge, and monitor code.
- PVS-Studio - A tool for bug detection in the source code of programs, written in C, C++ and C#.
-
Integrated Development Environment
- Microsoft Visual Studio - An IDE from Microsoft.
- KDevelop - A free, open source IDE.
- Anjuta DevStudio - The GNOME IDE. [GPL3]
- Cevelop - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
- Dev-C++ - A portable C/C++/C++11 IDE.
- Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
- IBM VisualAge - A family of computer integrated development environments from IBM.
- C Playground - Online C Programming IDE - An online IDE to practice C Programming where you can write, edit, and run code online.
- YouCompleteMe - YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
- Microsoft Visual Studio Code - An open-source IDE from Microsoft. [MIT] [website](https://code.visualstudio.com)
- rtags - A c/c++ client/server indexer with for integration with emacs based on clang.
- Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt. [GPL3 with exceptions] [website](https://www.qt.io/product/development-tools)
- color_coded - A vim plugin for libclang-based highlighting. [MIT]
- Embarcadero Dev-CPP - A fork of Dev-C++ that comes preinstalled with new themes and modern compilers. [GPLv2] [website](https://www.embarcadero.com/free-tools/dev-cpp)
- Irony-mode - A C/C++ minor mode for Emacs powered by libclang.
- Xcode - Developed by Apple.
- Cevelop - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
- AppCode - an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform.
- CLion - Cross-platform C and C++ IDE from JetBrains.
- Dev-C++ - A portable C/C++/C++11 IDE.
- Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
- CodeLite - Another cross-platform, free C and C++ IDE. [GPL2 with an exception for plugins]
- juCi++ - Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
- KDevelop - A free, open source IDE.
- Microsoft Visual Studio - An IDE from Microsoft.
- cquery - A C++ code completion engine for vscode, emacs, vim, etc.
-
Frameworks
- Qt - A cross-platform application and UI framework. [GPL/LGPL/Proprietary] [website](https://www.qt.io)
- APR - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
- GLib - GLib provides the core application building blocks for libraries and applications written in C. [LGPL]
- Apache C++ Standard Library - STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]
- ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
- Boost - A large collection of generic C++ libraries. [Boost] [website](https://www.boost.org)
- Cinder - A community-developed, free and open source library for professional-quality creative coding. [BSD]
- Cxxomfort - A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]
- Loki - A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]
- 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]
- STLport - An exemplary version of STL. [Free]
- STXXL - Standard Template Library for Extra Large Data Sets. [Boost]
- Ultimate++ - A C++ cross-platform rapid application development framework. [BSD]
- Windows Template Library - A C++ library for developing Windows applications and UI components. [Public]
- Dlib - A toolkit for making real world machine learning and data analysis applications in C++. [Boost] [website](http://dlib.net/)
- 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](https://photonlibos.github.io/)
- BDE - The BDE Development Environment from Bloomberg Labs. [Apache2]
- FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code. [MIT]
- LibSourcey - C++11 evented IO for real-time video streaming and high performance networking applications. [LGPL]
- ffead-cpp - Framework for Enterprise Application Development. [Apache2]
- EASTL - Electronic Arts Standard Template Library. [BSD]
- Seastar - An advanced, open-source C++ framework for high-performance server applications on modern hardware. [Apache-2.0 License] [seastar.io](http://seastar.io/)
- LibU - A multiplatform utility library written in C. [BSD]
- 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]
- OpenFrameworks - A cross platform open source toolkit for creative coding in C++. [MIT] [website](http://www.openframeworks.cc/)
- Folly - An open-source C++ library developed and used at Facebook. [Apache2]
- C++ Workflow - C++ Parallel Computing and Asynchronous Networking Engine. [Apache2]
- Coost - A tiny boost library in C++11. [MIT]
- CGraph - A cross-platform DAG framework based on C++ without any 3rd-party. [MIT]
- abseil-cpp - Abseil C++ Common Libraries. [Apache2]
- tbox - A glib-like multi-platform c library. [Apache2] [website](http://tboox.org/)
- rpp - Minimal Rust-inspired C++20 STL replacement. [MIT]
- Siv3D - Siv3D (OpenSiv3D) is a C++20 framework for creative coding (2D/3D games, media art, visualizers, and simulators). [MIT] [website](https://siv3d.github.io/)
- ETL - Embedded Template Library. [MIT]
- Yomm2 - Fast, Orthogonal, Open multi-methods. Supersedes [Yomm11](https://github.com/jll63/yomm11) [Boost]
- AUI - Declarative UI toolkit for C++20. [MPL2]
- libPhenom - libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2]
- JUCE - An all-encompassing C++ class library for developing cross-platform software. [Core-Module: ISC, Rest: GPL2/GPL3/Proprietary] [website](http://www.juce.com/)
- ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
- STLport - An exemplary version of STL. [Free]
- itlib - A collection of std-like single-header C++ libraries [MIT]
- Kigs framework - A free and open source C++ modular multi-purpose cross platform RAD framework. [MIT] [website](https://kigs-framework.org/)
- libxutils - Simple and yet powerful cross-platform C library providing data structures, algorithms and much more. [MIT]
- MiLi - Minimal headers-only C++ Library. [Boost]
- SaneCppLibraries - a set of C++ platform abstraction libraries for macOS, Windows and Linux. [MIT] [website](https://pagghiu.github.io/SaneCppLibraries/)
- APR - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
-
Debug
- Bencher - A suite of continuous benchmarking tools designed to catch performance regressions in CI. [MIT]/[Apache2]
- CMocka - unit testing framework for C with support for mock objects. [Apache2]
- CUTE - C++ Unit Testing Easier. [LGPL3]
- CppUnit - C++ port of JUnit. [LGPL2]
- CTest - The CMake test driver program. [BSD]
- Deleaker - A tool for resource leak detection, including memory, GDI and handle leaks.
- Google Mock - A library for writing and using C++ mock classes. [BSD]
- Mockator - Eclipse CDT plug-in for C++ Seams and Mock Objects.
- Catch2 - A modern, C++-native, test framework for unit-tests, TDD and BDD. [Boost]
- backward-cpp - A beautiful stack trace pretty printer for C++. [MIT]
- CppUTest - Unit testing and mocking framework for C/C++. [BSD-3-clause]
- FakeIt - Simple mocking framework for C++. [MIT]
- UnitTest++ - A lightweight unit testing framework for C++. [MIT/X Consortium license]
- Celero - C++ Benchmarking Framework. [Apache2]
- Nonius - A C++ micro-benchmarking framework. [CC]
- fff - A micro-framework for creating fake C functions. [MIT]
- libtap - Write tests in C. [GPL2]
- Google Test - Google C++ Testing Framework. [BSD]
- Boost.Test - Boost Test Library. [Boost] [website](https://boost.org/libs/test)
- cpp-dump - A C++ library for debugging purposes that can print any variable, even user-defined types. [MIT]
- benchmark - Google provided small microbenchmark support library. [Apache2]
- Remotery - Single C File Profiler with Web Viewer. [Apache2]
- check - Check is a unit testing framework for C. [LGPL-2.1] [website](https://libcheck.github.io/check/)
- Touca - Open-source regression testing system that you can self-host. [Apache2] [website](https://touca.io/)
- microprofile - Profiler with web-view for multiple platforms. [Unlicense]
- dbg-macro - A dbg(…) macro for C++. [MIT]
- DebugViewPP - Debug logging viewer. [Boost]
- Unity - Simple Unit Testing for C. [MIT]
- 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](https://nanobench.ankerl.com)
- utest.h - Single header unit testing framework for C and C++. [Unlicense]
- libassert - The most over-engineered C++ assertion library. [MIT]
- Cpptrace - A simple, portable, and self-contained C++ stacktrace library supporting C++11 and greater. [MIT]
- 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]
- doctest - The lightest feature rich C++ single header testing framework. [MIT]
- Nanotimer - A simple low-overhead cross-platform timer class for benchmarking. [zLib] [website](http://www.plflib.org/nanotimer.htm)
- CppBenchmark - Performance benchmark framework for C++ with nanoseconds measure precision. [MIT]
- CrashCatch - Single-header crash reporting for C++ that logs stack traces and creates `.dmp` and `.txt` crash dumps. [MIT] [website](https://keithpotz.github.io/CrashCatch)
- utl::profiler - Singe-header profiler for C++17. [MIT]
- CUTE - C++ Unit Testing Easier. [LGPL3]
- Deleaker - A tool for resource leak detection, including memory, GDI and handle leaks.
- Google Mock - A library for writing and using C++ mock classes. [BSD]
- VLD - Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++.
-
Scientific Computing
- GSL - GNU scientific library. [GPL]
- FFTW - A C library for computing the DFT in one or more dimensions. [GPL]
- preCICE - Coupling library for partitioned multi-physics simulations (FSI, CHT, and more). [LGPL] [website](https://precice.org/)
- AMGCL - a header-only C++ library for solving large sparse linear systems with algebraic multigrid. [MIT]
- Torch - A scientific computing framework with wide support for machine learning algorithms that puts GPUs first. [BSD-3-Clause] [website](http://torch.ch/)
- Au - A C++14-compatible physical units library with no dependencies and a single-file delivery option. Emphasis on safety, accessibility, performance, and developer experience. [Apache 2.0] [website](https://aurora-opensource.github.io/au/main/)
- Trilinos - High performance PDE solvers. [BSD]
- volesti - High dimensional sampling from truncated distributions, convex optimization and volume computation.
-
Build Systems
- CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
- XMake - A C/C++ cross-platform build utility based on Lua. [Apache]
- Ccache - A fast C/C++ compiler cache. [GPLv3]
- build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
- Conan - C/C++ Package Manager, open sourced. [MIT]
- FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
- Ninja - A small build system with a focus on speed.
- Sconsolidator - Scons build system integration for Eclipse CDT.
- Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
- SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
- tup - File-based build system that monitors in the background for changed files.
- Premake - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.
- Vcpkg - C++ library manager for Windows, Linux, and MacOS. [MIT]
- Bear - A tool to generate compilation database for clang tooling. [GPLv3]
- CPM - A C++ Package Manager based on CMake and Git.
- clib - Package manager for the C programming language. [MIT]
- Sccache - A fast compiler cache for C/C++, with cross-platform support and cloud backed storage options.
- Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
- waf - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/)
- Cget - Cmake package retrieval. [Boost] [website](http://cget.readthedocs.io)
- Sconsolidator - Scons build system integration for Eclipse CDT.
- Bazel - A multi-language, fast and scalable build system from Google. [Apache]
- tundra - High-performance code build system designed to give the best possible incremental build times even for very large software projects.
- MesonBuild - An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
- Premake - A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.
- FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
- tup - File-based build system that monitors in the background for changed files.
- Hunter - CMake driven cross-platform package manager for C++. [BSD-2]
-
Compiler
- GCC - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
- PCC - A very old C compiler. Supports C99.
- Intel C++ Compiler - Developed by Intel.
- Microsoft Visual C++ - MSVC, developed by Microsoft.
- Open WatCom - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
- Oracle Solaris Studio - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
- AMD C++ Compiler - Developed by AMD.
- c - Compile and execute C "scripts" in one go! [MIT]
- 8cc - A Small C Compiler.
- PCC - A very old C compiler. Supports C99.
- Microsoft Visual C++ - MSVC, developed by Microsoft.
- TCC - Tiny C Compiler. [LGPL]
- Clang - A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]
- Fil-C - a fanatically compatible memory-safe implementation of C and C++.
- Intel C++ Compiler - Developed by Intel.
- LLVM - Collection of modular and reusable compiler and toolchain technologies.
-
Compression
- ZLib - A very compact compression library for data streams. [zlib]
- bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
- 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]
- 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](https://www.7-zip.org)
- ZZIPlib - Provides read access on ZIP-archives. [MPL/LGPL]
- LZMAT - An extremely fast real-time lossless data compression library. [GPL]
- LZ4 - Extremely Fast Compression algorithm. [BSD] [website](http://www.lz4.org/)
- libarchive - Multi-format archive and compression library. [New BSD] [website](http://www.libarchive.org/)
- zstd - Zstandard - Fast real-time compression algorithm. Developed by Facebook. [BSD]
- FiniteStateEntropy - New generation entropy codecs : Finite State Entropy and Huff0.
- Brotli - Brotli compression format. Developed by Google. [MIT]
- bzip3 - A better and stronger spiritual successor to BZip2. [LGPL]
- miniz - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing. [MIT]
- smaz - Small strings compression library. [BSD]
- zlib-ng - zlib for the "next generation" systems. Drop-In replacement with some serious optimizations. [zlib]
- FastLZ - Small & portable byte-aligned LZ77 compression. [MIT]
- LZFSE - LZFSE compression library and command line tool. Developed by Apple.
- heatshrink - data compression library for embedded/real-time systems [ISC]
- minizip-ng - Fork of the popular zip manipulation library found in the zlib distribution. [zlib]
- Rapidgzip - Gzip Decompression and Random Access for Modern Multi-Core Machines. [Apache-2/MIT]
- bit7z - A C++ static library offering a clean and simple interface to the 7-zip shared libraries. [MPL2]
- bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
- Snappy - A fast compressor/decompressor. [BSD]
- ZZIPlib - Provides read access on ZIP-archives. [MPL/LGPL]
- 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]
- 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](https://www.7-zip.org)
-
Websites
- C FAQ - C frequently asked questions.
- Standard C++ - News, Status & Discussion about Standard C++.
- Build Bench - Compare C++ Builds.
- Quick Bench - Quick C++ Benchmarks.
- CppCon - The C++ Conference.
- C++ by Example - Learn C++ by Example.
- cplusplus.com - The C++ Resources Network.
- C++ FAQ - C++ frequently asked questions.
- C++ FQA Lite - C++ frequently questioned answers.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
- Meeting C++
- PVS-Studio’s challenge - PVS-Studio’s C++ quiz in which you're asked to find errors in code fragments of open source projects.
- Udemy C++ Courses and Tutorials
- C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
- C++ tutorial - A user ranked online tutorial bank site displaying multiple courses to learn C++ from.
- C++ Tutorial for Beginners - A comprenhensive tutorial on C++ curated by trained experts.
- cppexpert.online - Learn the best C++ practices by improving code snippets with some problems or with bad practices.
- Udemy C++ Courses and Tutorials
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ for yourself - A comprehensive tutorial on modern C++ covering everything from fundamentals to software design.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- C++ FAQ - C++ frequently asked questions.
- C++ FQA Lite - C++ frequently questioned answers.
- Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
- C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
- C++ by Example - Learn C++ by Example.
- C++ reference - A complete online reference for the C and C++ languages and standard libraries.
- C FAQ - C frequently asked questions.
- CppCon - The C++ Conference.
- cppstat - A site that lists C++ features and their support by compilers and standard library implementations in an accessible way.
- cplusplus.com - The C++ Resources Network.
- C++ Quiz - A simple online quiz that you can use to test your knowledge of the C++ programming language.
- Meeting C++
- C++ Tutorial for Beginners - A comprenhensive tutorial on C++ curated by trained experts.
- cppexpert.online - Learn the best C++ practices by improving code snippets with some problems or with bad practices.
-
Video
- FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
- libvpx - VP8/VP9 Codec SDK. [BSD]
- x265 - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/)
- Theora - A free and open video compression format. [BSD]
- OpenH264 - Open Source H.264 Codec. [BSD] [website](http://www.openh264.org/)
- avcpp - Modern C++ wrapper around FFmpeg. [MIT]
- libde265 - Open h.265 video codec implementation. [LGPL] [website](http://www.libde265.org/)
- libvpx - VP8/VP9 Codec SDK. [BSD]
- Theora - A free and open video compression format. [BSD]
- Vireo - A lightweight and versatile video processing library by Twitter. [MIT]
-
Asynchronous Event Loop
- libevent - An event notification library. [BSD]
- promise-cpp - Header only library that implements Promise/A+ standard. [Anti-996]
- C++ Actor Framework - An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/)
- uvw - C++ wrapper for libuv. [MIT]
- libuv - Cross-platform asynchronous I/O. [BSD]
- libhv - Cross-platform event loop library. [BSD]
- Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost] [website](https://boost.org/libs/asio)
- Ichor - An event queue which focuses on thread safety and provides dependency injection. [MIT]
- 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](http://think-async.com/)
- uv-cpp - a simple interface, high-performance network library based on C++11. [MIT]
-
Web Application Framework
- Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
- CppCMS - A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
- Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
- Wt - A C++ library for developing web applications. [GPL/Proprietary]
- Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
- TreeFrog Framework - High-speed and full-stack web application framework based on C++ and Qt, which supports HTTP and WebSocket protocol (with O/R mapping). [BSD] [website](http://www.treefrogframework.org/)
- Cutelyst - A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework. [BSD-3-Clause] [website](https://cutelyst.org/)
- C++ wfrest - C++ Web Framework REST API. [Apache2]
- Crow - Crow is a C++ microframework for running web services. It uses routing similar to Python's Flask. [BSD] [website](https://crowcpp.org)
- facil.io - Evented, high performance C web framework supporting HTTP, WebSockets, SSE and more. [MIT] [website](http://facil.io)
- Civetweb - Provides easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. [MIT]
- lwan - Experimental, scalable, high performance HTTP server. [GPL2]
- userver - Asynchronous C++17 framework with a rich set of abstractions and database drivers for fast and comfortable creation of efficient microservices, services and utilities. [Apache-2.0] [website](https://userver.tech/)
- oat++ - Light, zero-dependency framework to create high-performance web-services. [Apache-2.0] [website](https://oatpp.io/)
- QDjango - A web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name. [LGPL]
- libOnion - lightweight library to help you create webservers in C programming language. [LGPLv3]
- Wt - A C++ library for developing web applications. [GPL/Proprietary]
- Drogon - A C++17/20 based, high-performance HTTP application framework. [MIT]
- CppCMS - A Free High Performance Web Development Framework (not a CMS). [LGPLv3]
- Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
-
Math
- GMP - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
- ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
- cml - free C++ math library for games and graphics. [Boost]
- ExprTk - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
- Geometric Tools - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com)
- GMTL - Graphics Math Template Library is a collection of tools implementing Graphics primitives in generalized ways. [GPL2]
- muparser - muParser is an extensible high performance math expression parser library written in C++. [MIT]
- lp_solve - A library used to formulate and solve linear programming problems. [LGPL] [website](http://lpsolve.sourceforge.net)
- PCG-rand - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
- Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
- Wykobi - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
- CGAL - Collection of efficient and reliable geometric algorithms. [LGPL&GPL] [website](http://www.cgal.org/)
- DirectXMath - An all inline SIMD C++ linear algebra library for use in games and graphics apps.
- Vc - SIMD Vector Classes for C++. [BSD]
- SymEngine - Fast symbolic manipulation library, a rewriting of SymPy's core in C++. [MIT]
- xtensor - A C++14 library for numerical analysis with multi-dimensional array expressions, inspired by NumPy syntax. [BSD 3-clause] [website](https://xtensor-stack.github.io/xtensor)
- QuantLib - A free/open-source library for quantitative finance. [Modified BSD] [website](http://quantlib.org/)
- LibTomMath - A free open source portable number theoretic multiple-precision integer library written entirely in C. [PublicDomain & WTFPL] [website](http://www.libtom.net/)
- Wagyu - A general library for geometry operations of union, intersections, difference, and xor. [mapbox-wagyu original]
- NumCpp - A templatized header only C++ implementation of the Python Numpy library. [MIT]
- GLM - Header-only C++ math library that matches and inter-operates with OpenGL's GLSL math. [MIT] [website](https://glm.g-truc.net/)
- SimSIMD - Vector distance functions for x86 AVX2, AVX-512, Arm NEON, and SVE. [Apache2]
- MatX - A GPU-accelerated C++17 numerical computing library with a MATLAB/Python-like syntax. [BSD 3-clause]
- blaze - high-performance C++ math library for dense and sparse arithmetic. [BSD]
- linmath.h - A lean linear math library, aimed at graphics programming. [WTFPL]
- TinyExpr - A C library for parsing and evaluating math expressions from strings. [zlib]
- MATIO - MATLAB MAT File I/O Library. [BSD-2-Clause] [website](https://sourceforge.net/projects/matio/)
- autodiff - A modern, fast and expressive C++ library for automatic differentiation. [MIT] [website](https://autodiff.github.io)
- linalg.h - Single header, public domain, short vector math library for C++. [Unlicense]
- Klein - A fast, SIMD-optimized C++17 Geometric Algebra library for point, line, and plane projections, intersections, joins, rigid-body motion, and more. [MIT] [website](https://jeremyong.com/klein)
- StatsLib - A C++ header-only library of statistical distribution functions. [Apache2] [website](https://www.kthohr.com/statslib.html)
- Armadillo - Fast C++ library for linear algebra & scientific computing. [Apache2] [website](http://arma.sourceforge.net/)
- Boost.Multiprecision - provides higher-range/precision integer, rational and floating-point types in C++, header-only or with GMP/MPFR/LibTomMath backends. [Boost] [website](https://boost.org/libs/multiprecision)
- universal - A C++14 header-only library implementing arbitrary posit arithmetic. The posit number system is a tapered floating point that is more efficient than IEEE floating point. Posits enable reproducible computational science. [MIT license]
- sebsjames/maths - A templated C++20 math library which emphasizes convenience and pleasure for the client programmer (used in [mathplot](https://github.com/sebsjames/mathplot)). [Apache2] [website](https://sebsjames.github.io/maths/)
- OpenBLAS - An optimized BLAS library based on GotoBLAS2 1.13 BSD version. [BSD 3-clause] [website](http://www.openblas.net/)
- Apophenia - A C library for statistical and scientific computing. [GPL2]
- ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
- Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
- cml - The configurable math library. [Boost]
- libfixmath - Cross Platform Fixed Point Maths Library. [MIT]
- mexce - A single-header, dependency-free JIT compiler for scalar mathematical expressions that generates optimized x87 FPU machine code. [BSD]
- OMath - Cross-platform modern general purpose math library written in C++23 that suitable for cheat/game development. [ZLIB]
- utl::random - A C++17 header-only library implementing fast random for Monte-Carlo simulations & gamedev. [MIT]
- XAD - Powerful Automatic Differentiation for C++. [AGPL] [website](https://auto-differentiation.github.io/)
- muparser - muParser is an extensible high performance math expression parser library written in C++. [MIT]
- Wykobi - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
-
Coding Style Tools
- Artistic Style - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle.
- ClangFormat - A tool to format C/C++/Obj-C code.
- Clang-Tidy - Clang-based C++ linter tool.
- EditorConfig - EditorConfig helps maintain consistent coding styles across different editors and IDEs.
- Uncrustify - Code beautifier.
- ClangFormat - A tool to format C/C++/Obj-C code.
- Artistic Style - A tool to format C/C++/C#/Obj-C/Java code. Also known as astyle.
- Clang-Tidy - Clang-based C++ linter tool.
-
Miscellaneous
- libusb - A universal USB library which allows for portable access to USB devices. [LGPL2]
- American fuzzy lop - fuzz - Crazy fuzzing tool that automatically discovers bugs given time and minimal example input. [Apache2]
- Cheat Sheets of HackingCPP - Cool cheat sheets and infographics for algorithms, views, containers, randomness, etc.
- FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]
- Remote Call Framework - Inter-process communication framework for C++. [GPL2/Proprietary]
- Scintilla - A free source code editing component. [MIT]
- sigslot - C++ Signal/Slot Library. [PublicDomain]
- StrTk - A C++ library consisting of high performance string processing routines. [MIT]
- Tulip Indicators - A C library of over 100 financial technical analysis indicators. [LGPL]
- ZBar - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
- casacore - A set of c++ core libraries derived from aips++. [LGPL]
- FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios. [Simplified BSD]
- Pipes - Pipelines for expressive code on collections in C++. [MIT]
- stb - A range of single-file libraries for C/C++. [PublicDomain]
- Concord - A Discord API wrapper library written in C. [MIT] [website](https://cogmasters.github.io/concord)
- D++ (DPP) - A lightweight, high performance and scalable C++ library for creating Discord Bots. [Apache2] [website](https://dpp.dev)
- AsmJit - Low-latency machine code generation. [Zlib] [website](https://asmjit.com)
- Mach7 - A Pattern-matching library for C++. [BSD]
- date - A date and time library based on the C++11/14/17 <chrono> header. [MIT] [website](https://howardhinnant.github.io/date/date.html)
- CPPItertools - Range-based for loop add-ons inspired by the Python builtins and itertools library. [BSD-2-Clause]
- stdman - A tool that parses archived HTML files from [cppreference](https://cppreference.com) and generates groff-formatted manual pages for Unix-based systems. [MIT]
- cxx-prettyprint - A pretty printing library for C++ containers. [Boost]
- CCTZ - a C++ library for translating between absolute and civil times using the rules of a time zone. [Apache-2.0]
- DynaMix - A library which allows you to compose and modify objects at run time. [MIT]
- MPark.Variant - C++17 `std::variant` for C++11/14/17. [BSL-1.0]
- {fmt} - Small, safe and fast formatting library for C++. [Simplified BSD] [website](https://fmt.dev)
- PEGTL - The Parsing Expression Grammar Template Library. [MIT]
- libcpuid - A small C library for x86 CPU detection and feature extraction. [BSD]
- libnih - A lightweight library of C functions and structures. [GPL2.1]
- value-category-cheatsheet
- jwt-cpp - A header only library for creating and validating JSON web tokens in C++. [MIT]
- scnlib - scanf for modern C++. [Apache-2.0] [website](https://v1.scnlib.dev/)
- Klib - Small and lightweight implementations of common algorithms and data structures. [MIT]
- fast_float - Fast, Exact C++ from_chars, 4x to 10x faster than strtod, part of GCC 12, Chromium, Redis, Webkit/Safari. [Apache2/BSL-1.0/MIT]
- xxHash - Extremely fast non-cryptographic hash algorithm. [BSD-2-Clause] [website](https://xxhash.com/)
- SDS - Simple Dynamic Strings library for C. [BSD]
- StringZilla - the Godzilla of string libraries, splitting, sorting, and shuffling large textual datasets faster than you can say "Tokyo Tower". [Apache-2.0]
- HighwayHash - Fast strong hash functions: SipHash/HighwayHash. [Apache-2.0]
- inja - A Template Engine for Modern C++. [MIT]
- Argon2 - The password hash Argon2, winner of PHC. [CC0/Apache2]
- faker-cxx - C++20 Faker library for generating fake (but realistic) data for testing and development. [MIT]
- hedley - A C/C++ header file designed to smooth over some platform-specific annoyances. [website](https://nemequ.github.io/hedley/)
- fast_io - Significantly faster input/output for C++20. [MIT]
- reproc - A cross-platform (C99/C++11) process library. [MIT]
- Kangaru - A dependency injection container for C++11 and C++14. [MIT]
- palacaze/sigslot - A simple, header only, C++14 signal-slots implementation [MIT]
- pprint - Pretty Printer for Modern C++. [MIT]
- SimpleSignal - High performance C++11 signals. [PublicDomain]
- access_profiler - A tool to count accesses to member variables in c++ programs. [GPL3]
- QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library. [MIT]
- ub-canaries - A collection of C/C++ programs that try to get compilers to exploit undefined behavior.
- Stage - Mobile robot simulator. [GPL2]
- CPP-JWT - JSON Web Token library for C++. [MIT]
- fccf - A command-line tool that recursively searches a directory to find C/C++ source code matching a search string. [MIT]
- semver.c - A semver parser and render in ANSI C. [MIT]
- MPH - C++20 [Minimal] Static Perfect Hash library. [MIT]
- RapidFuzz - Rapid fuzzy string matching in C++ using the Levenshtein Distance. [MIT] [website](https://rapidfuzz.github.io/rapidfuzz-cpp/)
- libpopcnt - Fast C/C++ bit population count library. [BSD-2-Clause]
- tgbotxx - Telegram Bot C++ Library. [MIT]
- SLJIT - Platform independent low-level JIT compiler. [BSD] [website](https://zherczeg.github.io/sljit/)
- Boost.Signals2 - An implementation of a managed signals and slots system. [Boost] [website](https://boost.org/libs/signals2)
- happly - A C++ header-only parser for the PLY file format. Parse .ply happily! [MIT]
- libONVIF - Yet another ONVIF library. [GPL-3.0]
- simdzone - Fast and standards compliant DNS zone parser. [BSD-3-Clause]
- SafetyHook - C++23 procedure hooking library. [BSL-1.0]
- xxhash_cpp - Port of the xxhash library to C++17. [BSD-2-Clause]
- minja.hpp - A minimalistic C++ Jinja templating engine for LLM chat templates. [MIT]
- Reaction - A lightweight, header-only reactive programming framework leveraging modern C++20 features for building efficient dataflow applications. [MIT]
- Tulip Indicators - A C library of over 100 financial technical analysis indicators. [LGPL]
- rapidhash - Very fast, high quality, platform-independent hashing algorithm. [BSD-2-Clause]
- libsigc++ - A typesafe callback system for standard C++. [LGPL] [website](https://libsigcplusplus.github.io/libsigcplusplus)
- casacore - A set of c++ core libraries derived from aips++. [LGPL]
- gcc-poison - A simple header file for developers to ban unsafe C/C++ functions from applications.
- libevil - The Evil License Manager. [GPLv3]
- cpp-lazy - a fast and easy lazy evaluation library for C++11/14/17/20. [MIT]
- CRCpp - Easy to use and fast C++ CRC library. [BSD-3-Clause]
- emio - A safe and fast high-level and low-level character input/output library. [MIT]
- Hexi - Header-only, lightweight C++ library for binary streaming & serialization. [Apache-2.0/MIT]
- Jinja2С++ - almost full-conformance template engine implementation. [website](https://jinja2cpp.github.io/)
- KOMIHASH - Very fast, high-quality hash function, discrete-incremental and streamed hashing-capable. [MIT]
- libenvpp - A modern C++ library for type-safe environment variable parsing. [Apache-2.0]
- pspsdk - An open-source SDK for PSP homebrew development. [BSD/GNU GPL3]
- rain - The fastest 128-bit and 256-bit non-crypto hash, passes all tests, and under 140 source lines of code. [Apache-2.0]
- tiny::optional - Replacement for std::optional that does not waste memory unnecessarily. [BSL-1.0]
- VarTypes - A feature-rich, object-oriented framework for managing variables in C++ / Qt4. [LGPL]
- Wildcards - A simple C++ header-only template library implementing matching using wildcards. [BSL-1.0]
- Remote Call Framework - Inter-process communication framework for C++. [GPL2/Proprietary]
- Scintilla - A free source code editing component. [MIT]
- mio - Cross-platform C++11 header-only library for memory mapped file IO. [MIT]
- Better String - An alternative to the string library for C which is more functional and does not have buffer overflow overrun problems. Also includes a C++ wrapper. [BSD, GPL2]
- sigslot - C++ Signal/Slot Library. [PublicDomain]
- ZBar - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value. [LGPL2]
- ZXing - An open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. [Apache]
-
XML
- Expat - An XML parser library written in C. [MIT]
- Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
- libxml++ - An XML Parser for C++. [LGPL2]
- PugiXML - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
- RapidXml - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
- TinyXML - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
- Xerces-C++ - A validating XML parser written in a portable subset of C++. [Apache2]
- TinyXML2 - A simple, small, efficient, C++ XML parser that can be easily integrating into other programs. [zlib]
- Xalan C - A library and a command line program to transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. [Apache-2.0] [website](https://xalan.apache.org/)
- Mini-XML - A small XML parsing library written in ANSI C. [LGPL2 with exceptions]
- Expat - An XML parser library written in C. [MIT]
- TinyXML++ - A completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling. [MIT]
- libxml++ - An XML Parser for C++. [LGPL2]
- PugiXML - A light-weight, simple and fast XML parser for C++ with XPath support. [MIT]
- RapidXml - An attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. [Boost]
- TinyXML - A simple, small, minimal, C++ XML parser that can be easily integrating into other programs. [zlib]
- Xerces-C++ - A validating XML parser written in a portable subset of C++. [Apache2]
- Libxml2 - The XML C parser and toolkit of Gnome. [MIT]
-
Standard Libraries
- 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](http://www.open-std.org/JTC1/SC22/WG21/)
- The GNU C Library - The purpose of this manual is to tell you how to use the facilities of the GNU C Library.
- The GNU C Library - The purpose of this manual is to tell you how to use the facilities of the GNU C Library.
-
Artificial Intelligence
- Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]
- TensorFlow - An open source software library for numerical computation using data flow graphs. [Apache]
- PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration. [website](https://pytorch.org)
- Kaldi - Toolkit for speech recognition. [Apache]
- tiny-dnn - A header only, dependency-free deep learning framework in C++11. [BSD]
- 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]
- frugally-deep - Header-only library for using Keras models in C++. [MIT]
- Genann - Simple neural network library in C. [zlib]
- CNTK - Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit. [Boost]
- ANNetGPGPU - A GPU (CUDA) based Artificial Neural Network library. [LGPL]
- Veles - Distributed platform for rapid Deep learning application development. [Apache]
- Txeo - A modern C++ wrapper for TensorFlow. [Apache]
- oneDNN - An open-source cross-platform performance library for deep learning applications. [Apache] [website](https://01.org/onednn)
- 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)
- btsk - Game Behavior Tree Starter Kit. [zlib]
-
Audio
- 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]
- 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]
- Speex - A free codec for free speech. Obsoleted by Opus. [BSD]
- Vorbis - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
- audioFlux - A C library for audio and music analysis, feature extraction. [MIT]
- Maximilian - C++ Audio and Music DSP Library. [MIT]
- Tonic - Easy and efficient audio synthesis in C++. [Unlicense]
- libsoundio - C library for cross-platform real-time audio input and output. [MIT] [website](http://libsound.io/)
- Aubio - A library for audio and music analysis.[GPL-3.0] [website](https://aubio.org/)
- rnnoise - Recurrent neural network for audio noise reduction. [BSD-3-Clause]
- SoLoud - Easy, portable audio engine for games. [zlib]
- miniaudio - Single file audio playback and capture library. [Unlicense] [website](https://miniaud.io/)
- dr_libs - Single file audio decoding libraries for C and C++. [Unlicense]
- AudioFile - A simple C++ library for reading and writing audio files. [MIT]
- minimp3 - Public domain, header-only MP3 decoder with clean-room implementation. [CC0]
- ni-media - C++ library for reading and writing audio files. [MIT]
- Amplitude Audio SDK - A cross-platform audio engine designed with the needs of games in mind. [Apache-2.0] [website](https://amplitudeaudiosdk.com)
- SELA - SimplE Lossless Audio. [MIT]
- FMOD - An easy to use crossplatform audio engine and audio content creation tool for games. [Free for non-commercial/Commercial]
- Verovio - Verovio is a fast and lightweight music notation engraving library. [LGPL] [website](https://www.verovio.org)
-
Biology
- BioC++ - C++ Computational Libraries for Bioinformatics. [BSD]
- Chaste - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
- 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]
- libsequence - A C++ library for representing and analyzing population genetics data. [GPL]
- Wham - Structural variants (SVs) in Genomes by directly applying association tests to BAM files. [MIT]
- SeqAn - Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]
-
CLI
- Ncurses - A terminal user interface. [MIT]
- TCLAP - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
- cxxopts - Lightweight C++ command line option parser. [MIT]
- docopt.cpp - A library to generate option parser from docstring. [MIT/Boost]
- clipp - Easy to use, powerful and expressive command line argument handling for C++11/14/17 contained in a single header file. [MIT]
- Lyra - A simple to use, composable, command line parser for C++ 11 and beyond. [Boost]
- oof - Convenient, high-performance RGB color and position control for console output. [MIT]
- termbox - A C library for writing text-based user interfaces. [MIT]
- Argh! - A minimalist, frustration-free, header-only argument handler. [BSD]
- linenoise - A small self-contained alternative to readline and libedit. [BSD-2-Clause]
- FTXUI - C++ Functional Terminal User Interface. [MIT]
- tabulate - Table Maker for Modern C++. [MIT]
- CLI11 - Header only single or multi-file C++11 library for simple and advanced CLI parsing. [BSD]
- PDCurses - Public domain curses library with both source code and pre-compiled library available. [PublicDomain]
- TermOx - C++17 Terminal User Interface(TUI) Library. [MIT]
- FINAL CUT - Library for creating terminal applications with text-based widgets. [LGPL]
- replxx - A readline and libedit replacement that supports UTF-8, syntax highlighting, hints, works on Unix and Windows. [BSD]
- argparse - Argument Parser for Modern C++. [MIT]
- imtui - Immediate Mode Text-based User Interface. [MIT]
- cli - A cross-platform header only C++14 library for interactive command line interfaces (Cisco style). [Boost]
- args - A simple header-only C++ argument parser library. [MIT]
- Ctrl+C - Crossplatform C++11 library to handle Ctrl+C event in custom functions. [MIT]
- popl - A single-header templated command line arguments and ini file parser for C++ 11 and beyond. [MIT]
- tuibox - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line. [MIT]
- cpp-terminal - Small header only C++ library for writing multiplatform terminal applications. [MIT]
- Boost.Program_options - A library to obtain program options via conventional methods such as command line and config file. [Boost] [website](https://boost.org/libs/program_options)
- gflags - Commandline flags module for C++. [BSD]
- linenoise-ng - A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. [BSD]
- TCLAP - A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]
- Argy - Command-Line Argument Parsing Library for Modern C++ — Simple, Intuitive, and Header-only with Zero Dependencies [MIT]
- barkeep - Small C++ header to display async animations, counters, and progress bars. [Apache-2.0] [website](https://oir.github.io/barkeep/)
- indicators - Activity indicators for Modern C++. [MIT]
- Ncurses - A terminal user interface. [MIT]
-
Concurrency
- OpenCL - The open standard for parallel programming of heterogeneous systems.
- RaftLib - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]
- STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
- Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System. (renamed from Cpp-Taskflow) [MIT]
- concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11. [BSD,Boost]
- ThreadPool - A simple C++11 Thread Pool implementation [zlib]
- readerwriterqueue - A fast single-producer, single-consumer lock-free queue for C++. [BSD]
- libcds - A C++ library of Concurrent Data Structures. [BSD]
- Boost.Compute - A C++ GPU Computing Library for OpenCL. [Boost] [website](https://boost.org/libs/compute)
- junction - A library of concurrent data structures in C++. [BSD]
- VexCL - A C++ vector expression template library for OpenCL/CUDA. [MIT]
- Async++ - A lightweight concurrency framework for C++11, inspired by the Microsoft PPL library and the N3428 C++ standard proposal. [MIT]
- Bolt - A C++ template library optimized for GPUs. [Apache2]
- Kokkos - A performance portable programming model for parallel execution and memory abstraction. [BSD]
- ArrayFire - A general purpose GPU library. [BSD]
- SObjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. [BSD-3-Clause]
- concurrencpp - A general concurrency library containing tasks, executors, timers and C++20 coroutines to rule them all.
- libfork - A bleeding-edge, lock-free, wait-free, continuation-stealing tasking library built on C++20's coroutines. [MPL-2.0] [website](https://conorwilliams.github.io/libfork/)
- transwarp - A header-only C++ library for task concurrency. [MIT]
- FiberTaskingLib - Task-based multi-threading library that supports task graphs with arbitrary dependencies. [Apache]
- rotor - Event loop friendly C++ actor micro framework. [MIT]
- marl - Marl is a hybrid thread / fiber task scheduler written in C++ 11. [Apache-2.0]
- Neco - Concurrency library for C (coroutines). [MIT]
- ck - Concurrency primitives, safe memory reclamation mechanisms and non-blocking data structures. [BSD]
- 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]
- stdgpu - Efficient STL-like Data Structures on the GPU. [Apache2]
- cuda-api-wrappers - Lightweight, Modern-C++ wrappers for the CUDA GPU programming runtime API. [BSD]
- Libclsph - An OpenCL based GPU accelerated SPH fluid simulation library. [MIT]
- BS::thread_pool - A fast, lightweight, and easy-to-use C++17 thread pool library [MIT]
- Intel Games Task Scheduler - A task scheduling framework designed for the needs of game developers. [MIT]
- Channel - Thread-safe container for sharing data between threads. [MIT]
- Quantum - A powerful C++ coroutine dispatcher framework built on top of [Boost.Coroutine2](https://boost.org/libs/coroutine2).
- Intel TBB - Intel® Threading Building Blocks. [Apache2]
- C++React - A reactive programming library for C++11. [Boost]
- alpaka - Abstraction library for parallel kernel acceleration. [LGPLv3+]
- CUB - CUB provides state-of-the-art, reusable software components for every layer of the CUDA programming mode. [New BSD]
- cupla - C++ API to run CUDA/C++ on OpenMP, Threads, TBB, ... through Alpaka. [LGPLv3+]
- Coros - An easy-to-use and fast library for task-based parallelism, utilizing coroutines. [BSL-1.0]
- STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
- HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale. [Boost]
- Intel Parallel STL - Intel® implementation of C++17 STL for C++11 and above. [Apache2]
- 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](https://apple.github.io/swift-corelibs-libdispatch/)
- libmill - Introduces Go-style concurrency in C. [MIT]
- OpenMP - The OpenMP API.
- RaftLib - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators. [Apache2]
-
Database
- DuckDB - in-process SQL OLAP Database Management System. [MIT]
- MySQL++ - A C++ wrapper for MySQL's C API. [LGPL]
- ODB - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]
- SQLite - A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]
- upscaledb - An embedded "typed" key/value store with a built-in query interface. [GPLv3]
- Hiredis - A minimalistic C client library for the Redis database. [BSD]
- sqlpp11 - A type safe embedded domain specific language for SQL queries and results in C++. [BSD-2-Clause]
- SOCI - A database abstraction layer for C++. [Boost]
- MongoDB C++ Driver - C++ driver for MongoDB. [Apache2]
- hiberlite - C++ Object-relational mapping for sqlite3. [BSD]
- 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]
- SimDB - High performance, shared memory, lock free, cross platform, single file, minimal dependencies, C++11 key-value store. [Apache2]
- redis3m - Wrapper of hiredis with clean C++ interface, supporting sentinel and ready to use patterns. [Apache2]
- MongoDB Libbson - A BSON utility library. [Apache2]
- SQLiteC++ - SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. [MIT]
- RocksDB - Embedded key-value store for fast storage from facebook. [BSD]
- 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]
- Velox - A C++ vectorized database acceleration library aimed to optimizing query engines and data processing systems. [Apache-2.0] [website](https://velox-lib.io/)
- MongoDB C Driver - MongoDB client library for C. [Apache2]
- Infinity - The AI-native database built for LLM applications, providing incredibly fast vector and full-text search. [Apache2]
- TileDB - Fast Dense and Sparse Multidimensional Array DBMS. [MIT] [website](https://tiledb.io/)
- libpqxx - The official C++ client API for PostgreSQL. [BSD-3-Clause]
- nanodbc - A small C++ wrapper for the native C ODBC API. [MIT]
- UnQLite - A self-contained, serverless, zero-configuration, transactional NoSQL engine. [BSD-2-Clause] [website](https://unqlite.symisc.net/)
- 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]
- Kuzu - Embeddable property graph database management system built for query speed and scalability. Implements Cypher. [MIT] [website](https://kuzudb.com/)
- ClickHouse - C++ client for ClickHouse DBMS. [Apache2]
- 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]
- TinyORM - Modern C++ ORM library. [MIT] [website](https://www.tinyorm.org/)
- mgclient - C/C++ Memgraph Client. [Apache2]
- TidesDB - High-performance, durable, transactional embedded storage engine designed for flash and RAM optimization. [MPL-2.0] [website](https://tidesdb.com/)
- CrossDB - Ultra High-performance Lightweight Embedded and Server OLTP RDBMS. [MPL-2.0] [website](https://crossdb.org/)
- Reindexer - Embeddable, in-memory, document-oriented database with a high-level Query builder interface. [Apache2] [website](https://reindexer.io/)
- Speedb - Community-led project: A RocksDB compliant high performance scalable embedded key-value store. [Apache2]
- sqlgen - A reflection-based ORM and SQL query generator for C++-20, similar to Python's SQLAlchemy/SQLModel or Rust's Diesel. [MIT]
- LMDB++ - C++11 wrapper for the LMDB embedded database library. [PublicDomain]
-
Font
- FreeType - FreeType is a freely available software library to render fonts. [FTL & GPLv2]
- harfbuzz - A text shaping engine. [Old MIT]
- libschrift - A lightweight TrueType font rendering library. [ISC]
- otfcc - A C library and utility used for parsing and writing OpenType font files. [Apache-2.0]
- Fontconfig - Font configuration and customization library. [MIT] [website](https://www.freedesktop.org/wiki/Software/fontconfig/)
-
Game Engine
- delta3d - A robust simulation platform. [LGPL2]
- Oxygine - A cross-platform 2D C++ game engine. [MIT]
- Urho3D - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
- raylib - A simple and easy-to-use library to enjoy videogames programming. [zlib/libpng] [website](http://www.raylib.com/)
- Godot - A fully featured, open source, MIT licensed, game engine. [MIT]
- GamePlay - A cross-platform native C++ game framework for creating 2D/3D mobile and desktop games. [Apache2]
- Panda3D - A game engine, a framework for 3D rendering and game development for Python and C++ programs. [Modified BSD] [website](https://www.panda3d.org/)
- Spring - A powerful free cross-platform RTS game engine. [GPLv2/GPLv3] [website](https://springrts.com/)
- Corange - A game engine written in pure C, SDL and OpenGL. [BSD]
- OpenXRay - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series. [Modified BSD/non-commercial only]
- Halley - A lightweight game engine written in C++14 with a "true" entity-component system. [Apache 2.0]
- Polycode - A cross-platform framework for creative code in C++ (with Lua bindings). [MIT] [website](http://polycode.org/)
- KlayGE - a cross-platform open source game engine with plugin-based architecture. [GPLv2] [website](http://www.klayge.org/)
- o3de - An open-source, real-time, multi-platform 3D engine based on Amazon Lumberyard. [Apache2] [website](https://o3de.org/)
- Torque3D - An open-source C++ engine built for 3D game development. [MIT] [website](https://torque3d.org/torque3d)
- Torque2D - An open-source and cross-platform C++ engine built for 2D game development. [MIT] [website](https://torque3d.org/torque2d)
- EnTT - Gaming meets modern C++. [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](https://ezengine.net/)
- nCine - A cross-platform 2D game engine with an emphasis on performance, written in C++11 and optionally scriptable in Lua. [MIT] [website](https://ncine.github.io/)
- PixelGameEngine - The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects. [OLC3]
- 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.
- Hazel Game Engine - Hazel is primarily an early-stage interactive application and rendering engine for Windows. [Apache-2.0 license]
- Axmol Engine - A cross-platform game engine for desktop, mobile, and XBOX (UWP), derived from Cocos2d-x-4.0. [MIT] [website](https://axmol.dev/)
- 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]
- Cocos2d-x - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]
- Grit - Community project to build a free game engine for implementing open world 3D games. [MIT]
- IX-Ray Platform - Fork of X-Ray 1.6 engine that aims to improve gaming experience and simplify development of modifications. [Modified MIT/non-commercial only]
- quakeforge - Actively maintained branch of the original Quake engine code with 20+ years of development. [GPL-2.0]
- delta3d - A robust simulation platform. [LGPL2]
- Oxygine - A cross-platform 2D C++ game engine. [MIT]
-
GUI
- CEGUI - Flexible, cross-platform GUI library.
- FLTK - Fast, light, cross-platform C++ GUI toolkit. [LGPL2]
- FOX Toolkit - an open-source, cross-platform widget toolkit. [LGPL]
- iup - Multi-platform toolkit for building graphical user interfaces. [MIT]
- nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
- QCustomPlot - Qt plotting widget without further dependencies. [GPLv3]
- QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
- 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]
- Saucer - A modern, cross-platform C++ webview library. [MIT]
- FOX Toolkit - an open-source, cross-platform widget toolkit. [LGPL]
- libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. [MIT]
- Slint - Lightweight GUI toolkit for desktop and embedded. [GPL/Free/Proprietary] [website](https://slint.dev/)
- GacUI - GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. [Ms-PL]
- nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
- nuklear - A single-header ANSI C gui library. [PublicDomain]
- imgui - Immediate Mode Graphical User Interface with minimal dependencies. [MIT]
- implot - Immediate Mode Plotting widgets for imgui. [MIT]
- TGUI - Cross-platform modern c++ GUI. [Zlib] [website](https://tgui.eu/)
- Yue - A library for creating native cross-platform GUI apps. [LGPLv2]
- Elements - Lightweight, fine-grained, resolution independent, modular GUI library. [MIT]
- MyGUI - Fast, flexible and simple GUI. [MIT]
- NAppGUI - SDK for building cross-platform desktop apps in ANSI-C. [MIT] [website](https://nappgui.com/en/home/web/home.html)
- RmlUi - The HTML/CSS User Interface library evolved. Fork of libRocket. [MIT]
- WebUI - Use any web browser as GUI, with your preferred language in the backend and HTML5 in the frontend. [MIT] [website](https://webui.me/)
- Boden - Native, mobile, cross-platform GUI Framework. [GPL/LGPL/Proprietary] [website](https://www.boden.io)
- NanoGui - A minimalistic cross-platform widget library for OpenGL 3.x or higher. [BSD]
- CEGUI - Flexible, cross-platform GUI library.
- wxCharts - A library to create charts in wxWidgets applications. [MIT] [website](https://www.wxishiko.com/wxCharts/)
- gtkmm - The official C++ interface for the popular GUI library GTK+. [LGPL]
- iup - Multi-platform toolkit for building graphical user interfaces. [MIT]
- 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]
- Sciter - Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]
-
Graphics
- Irrlicht - A high performance realtime 3D engine written in C++. [zlib]
- Ogre 3D - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] [website](https://www.ogre3d.org)
- OpenVDB - Library and tools for storing, editing, and rendering volumetric datasets. [MPL2]
- Skia - A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] [website](https://skia.org/)
- Harfang 3D
- bgfx - A cross-platform rendering library. [BSD]
- magnum - Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] [website](http://magnum.graphics)
- libigl - Simple C++ geometry processing library. [MPL2]
- DirectXTK - A collection of helper classes for writing DirectX 11.x code in C++. [MIT]
- Yocto/GL - Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT]
- Partio - Library for wrangling particle data, with support for most common file formats. [Modified BSD]
- urho3d - Cross-platform rendering and game engine. [Many different, mostly MIT]
- NanoVG - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
- LunaSVG - a standalone SVG rendering library in C++. [MIT]
- LLGL - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]
- Diligent Engine - A modern cross-platform low-level 3D graphics library. [Apache2]
- herebedragons - A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] [website](http://simonrodriguez.fr/dragon/)
- GLFW - A simple, cross-platform OpenGL wrangling library. [zlib/libpng]
- Blend2D - 2D vector graphics engine powered by a JIT compiler. [Zlib] [website](https://blend2d.com/)
- TinySpline - A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT]
- olive.c - Simple 2D Graphics Library. [MIT]
- 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](http://www.assimp.org)
- Horde3D - A small 3D rendering and animation engine. [EPL]
- OpenSubdiv - Pixar's library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
- Ion - A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] [website](https://google.github.io/ion/)
- ThorVG - a platform-independent portable library that allows for drawing vector-based scenes and animations, including SVG and Lottie. [MIT] [website](https://www.thorvg.org/)
- C-Turtle - A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
- GLFWPP - A thin modern C++17 header-only wrapper for GLFW. [MIT]
- micro-gl - Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] [website](https://micro-gl.github.io/docs/microgl)
- Irrlicht - A high performance realtime 3D engine written in C++. [zlib]
- Panda3D - A framework for 3D rendering and game development for Python and C++. [BSD]
-
Image Processing
- 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]
- FreeImage - An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]
- DCMTK - DICOM Toolkit.
- ITK - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
- Magick++ - ImageMagick program interfaces for C++. [Apache2]
- MagickWnd - ImageMagick program interfaces for C. [Apache2]
- OpenCV - Open source computer vision. [Apache2] [website](https://opencv.org)
- OpenEXR - Cross-platform library for high dynamic range imaging. [Modified BSDF]
- stb-image - STB single-header image loading library. [Public Domain]
- tesseract-ocr - An OCR engine. [Apache2]
- MozJPEG - Improved JPEG encoder. [BSD/BSD-3-Clause/ZLIB]
- libfacedetection - Open source library for face detection in images. The face detection speed can reach 1500FPS. [BSD]
- LodePNG - PNG encoder and decoder in C and C++. [Zlib]
- Video++ - A C++14 high performance video and image processing library. [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]
- VIGRA - A generic C++ computer vision library for image analysis. [MIT X11]
- libvips - A fast image processing library with low memory needs. [LGPL] [website](http://www.vips.ecs.soton.ac.uk/)
- 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/)
- 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/)
- libpng - the reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. [libpng-2.0] [website](https://libpng.sourceforge.io/)
- libjxl - JPEG XL image format reference implementation. [BSD-3-Clause]
- 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]
- libspng - Simple, modern libpng alternative. [BSD-2] [website](https://libspng.org/)
- TinyDNG - Header-only Tiny DNG/TIFF loader and writer in C++. [MIT]
- libavif - Library for encoding and decoding .avif files. [BSD-2-Clause]
- Boost.GIL - Generic Image Library. [Boost] [website](https://boost.org/libs/gil)
- fpng - Super fast C++ .PNG writer/reader. [Unlicense]
- BitmapPlusPLus - Simple and Fast header only Bitmap C++ library. [MIT]
- PlutoFilter - A single-header, zero-allocation image filter library in C. [MIT]
- OpenImageIO - Powerful image and texture wrangling library with support for a wide number of common lossy and RAW formats. [Modified BSD]
- TinyEXIF - Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG. [MIT]
- Leptonica - Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. [BSD-2-Clause] [website](http://leptonica.org/index.html)
- TinyTIFF - lightweight TIFF reader/writer library. [GPL-3.0]
- DCMTK - DICOM Toolkit.
- OpenEXR - Cross-platform library for high dynamic range imaging. [Modified BSDF]
-
Internationalization
- gettext - GNU 'gettext'. [GPL2]
- libiconv - An encoding conversion library between different character encodings. [GPL]
- utf8.h - Single header utf8 string functions for C and C++. [Unlicense]
- simdutf - Unicode routines (UTF8, UTF16, UTF32): billions of characters per second using SSE2, AVX2, NEON, AVX-512. [Apache-2/MIT]
- utf8proc - A clean C library for processing UTF-8 Unicode data. [MIT]
- uni-algo - Unicode Algorithms Implementation for C/C++. [Unlicense or MIT]
- gettext - GNU 'gettext'. [GPL2]
- IBM ICU - A set of C/C++ and Java libraries providing Unicode and Globalization support. [ICU]
-
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]
- WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
- xmlrpc-c - A lightweight RPC library based on XML and HTTP. [BSD]
- simple-rpc-cpp - A simple RPC wrapper generator to C/C++ functions. [BSD]
- WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
- gRPC - A high performance, open source, general-purpose RPC framework. [BSD] [website](http://www.grpc.io/)
- nanomsg - A simple high-performance implementation of several "scalability protocols". [MIT] [website](http://nanomsg.org/)
- Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more. [GPLv2]
- libjson-rpc-cpp - JSON-RPC framework for C++ servers and clients. [MIT]
- rpclib - A modern C++ msgpack-RPC server and client library. [MIT]
- Cap'n Proto - Fast data interchange format and capability-based RPC system. [MIT] [website](https://capnproto.org/)
- nng - nanomsg-next-generation, a light-weight brokerless messaging library. [MIT] [website](https://nanomsg.github.io/nng/)
- 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](https://brpc.apache.org/)
- SRPC - A lightweight RPC system that supports multiple protocols and OpenTelemetry. [Apache2]
- 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](https://iceoryx.io/)
- 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](https://boost.org/libs/interprocess)
- WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
- eCAL - Pub/sub, client/server, C++/Python/C#, various message protocols (protobuf, capnproto ..). [Apache2] [website](http://www.ecal.io/)
-
JSON
- libjson - Lightweight JSON library. [?]
- Jansson - C library for encoding, decoding and manipulating JSON data. [MIT]
- YAJL - A fast streaming JSON parsing library in C. [ISC]
- frozen - JSON parser and generator for C/C++. [GPL & GPL2]
- JsonCpp - A C++ library for interacting with JSON. [MIT]
- json11 - A tiny JSON library for C++11. [MIT]
- PicoJSON - A header-file-only, JSON parser serializer in C++. [BSD]
- sajson - Lightweight, extremely high-performance JSON parser for C++11. [MIT]
- JSON++ - A JSON parser in C++. [MIT]
- json-voorhees - JSON library for C++. Support for C++11. No dependencies, fast and dev-friendly. [Apache2]
- jsoncons - A C++ header-only library for JSON and JSON-like binary formats with JSONPointer, JSONPatch, JSONPath and JMESPath. [Boost]
- JeayeSON - A very sane (header only) C++ JSON library. [BSD]
- LIBUCL - Universal configuration library parser. [BSD-2-Clause]
- libjson - A JSON parser and printer library in C. easy to integrate with any model. [LGPL]
- json - JSON for Modern C++. [MIT] [website](https://json.nlohmann.me)
- DAW JSON Link - Fast, convenient JSON serialization and parsing in C++. [BSL-1.0]
- json.h - A simple one header/one source solution to parsing JSON in C and C++. [Unlicense]
- yyjson - A high performance JSON library written in ANSI C. [MIT]
- json-struct - High performance, single header JSON parser parsing to and from C++ structs. [MIT]
- cJSON - Ultralightweight JSON parser in ANSI C. [MIT]
- UltraJSON - Ultra fast JSON decoder and encoder written in C. [BSD-3-Clause]
- parson - Parson is a lighweight json library written in C. [MIT]
- json-c - A JSON implementation in C. [MIT]
- Jsmn - A minimalistic JSON parser in C. [MIT]
- json-build - C89 tiny zero-allocation JSON serializer. [MIT]
- taoJSON - Zero-dependency C++ header-only JSON library. [MIT]
- QJson - A qt-based library that maps JSON data to QVariant objects. [LGPL2]
- json.cpp - a baroque JSON parsing / serialization library for C++. [Apache-2.0]
- Boost.PropertyTree - A property tree parser/generator that can be used to parse XML/JSON/INI/Info files. [Boost] [website](https://boost.org/libs/property_tree)
- Sonic-Cpp - A fast JSON serializing & deserializing library, accelerated by SIMD. [Apache-2.0]
- meojson - Next-gen C++ JSON/JSON5 Serialization Engine | Zero Dependency | Header-Only | Unleash JSON Potential. [MIT]
- RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API. [MIT] [website](https://rapidjson.org)
- simdjson - Extremely fast JSON library that can parse gigabytes of JSON per second. [Apache-2.0]
- jbson - jbson is a library for building & iterating BSON data, and JSON documents in C++14. [Boost]
- jute - Very simple C++ JSON Parser. [PublicDomain]
- ujson - µjson is a a small, C++11, UTF-8, JSON library. [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]
- libjson - Lightweight JSON library. [?]
-
Logging
- Log4cpp - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
- templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
- P7Baical - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
- spdlog - Super fast, header only, C++ logging library.
- glog - C++ implementation of the Google logging module.
- log4cplus - A simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. [BSD & Apache2]
- plog - Portable and simple log for C++ in less than 1000 lines of code. [MPL2]
- loguru - A lightweight C++ logging library. [PublicDomain]
- G3log - Asynchronous logger with Dynamic Sinks. [PublicDomain]
- reckless - Low-latency, high-throughput, asynchronous logging library for C++. [MIT]
- lwlog - Very fast synchronous and asynchronous C++17 logging library. [MIT]
- Quill - Asynchronous cross platform low latency logging library. [MIT]
- haclog - An extremely fast plain C logging library. [MIT]
- Boost.Log - Designed to be very modular and extensible. [Boost] [website](https://boost.org/libs/log)
- Blackhole - Attribute-based logging framework, which is designed to be fast, modular and highly customizable. [MIT]
- templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
- BqLog - A lightweight, high-performance logging system used in projects such as "Honor of Kings". [Apache-2.0]
- fmtlog - A performant fmtlib-style logging library with latency in nanoseconds. [MIT]
- ng-log - C++14 library for application-level logging. [BSD-3-Clause]
- Abseil Logging - The Abseil Logging library provides facilities for writing log messages to stderr, files, or other sinks. [Apache-2.0]
- Easylogging++ - Extremely light-weight high performance logging library for C++11 (or higher) applications. [MIT]
- Log4cpp - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. [LGPL]
-
Machine Learning
- sofia-ml - The suite of fast incremental algorithms for machine learning. [Apache2]
- darknet - Open source neural network framework written in C and CUDA. [PublicDomain] [website](https://pjreddie.com/darknet/)
- Recommender - C library for product recommendations/suggestions using collaborative filtering (CF). [BSD]
- CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. [BSD]
- catboost - A fast, scalable, high performance Gradient Boosting on Decision Trees library. [Apache2]
- Caffe - A fast framework for neural networks. [BSD]
- ncnn - A high-performance neural network inference computing framework optimized for mobile platforms. [BSD]
- m2cgen - A CLI tool to transpile trained classic ML models into a native C code with zero dependencies. [MIT]
- FAISS - A library for efficient similarity search and clustering of dense vectors. [MIT]
- ONNX runtime - C and C++ library for training and inference ONNX models. ONNX is a standard that AI models can be converted into, regardless of the library they are trained with. [MIT] [website](https://onnxruntime.ai/)
- mlpack - A scalable c++ machine learning library. [LGPLv3] [website](http://www.mlpack.org/)
- Minerva - A fast and flexible system for deep learning. [Apache2]
- MeTA - A modern C++ data sciences toolkit. [MIT] [website](https://meta-toolkit.org/)
- Fido - A highly-modular C++ machine learning library for embedded electronics and robotics. [MIT] [website](http://fidoproject.github.io/)
- SHOGUN - The Shogun Machine Learning Toolbox. [GPLv3]
- xgboost - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2]
- VLFeat - The VLFeat open source library implements popular computer vision algorithms specialising in image understanding and local featurexs extraction and matching. [BSD-2-Clause] [website](http://www.vlfeat.org/)
- USearch - Fast search and clustering library for vectors and strings. [Apache2]
- libsvm - A simple, easy-to-use, efficient library for Support Vector Machines. [BSD-3-Clause] [website](https://www.csie.ntu.edu.tw/~cjlin/libsvm/)
- ggml - Tensor library for machine learning with 16-bit and 4-bit quantization support. [MIT]
- RNNLIB - RNNLIB is a recurrent neural network library for sequence learning problems. [GPLv3]
- OpenCV - Open Source Computer Vision Library. [BSD] [website](http://opencv.org/)
- sofia-ml - The suite of fast incremental algorithms for machine learning. [Apache2]
-
Multimedia
- LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
- libVLC - libVLC (VLC SDK) media framework. [GPL]
- SFML - Simple and Fast Multimedia Library. [zlib] [website](http://www.sfml-dev.org/)
- QtAv - A multimedia playback framework based on Qt and FFmpeg to write a player easily. [LGPL] [website](http://wang-bin.github.io/QtAV/)
- libav - A collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata. [LGPL v2.1+ and others] [website](https://www.libav.org/)
- libass - Portable subtitle renderer for the ASS/SSA subtitle format. [ISC]
- TagLib - A library for reading and editing the metadata of several popular audio formats. [LGPL/MPL] [website](https://taglib.org/)
- SDL - Simple DirectMedia Layer. [zlib] [website](https://libsdl.org)
- MediaInfoLib - Convenient unified display of the most relevant technical and tag data for video and audio files. [BSD]
- LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
- GStreamer - A library for constructing graphs of media-handling components. [LGPL]
-
Networking
- ACE - An OO Network Programming Toolkit in C++. [?MIT?]
- cpp-netlib - A collection of open-source libraries for high level network programming. [Boost]
- KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
- Libmicrohttpd - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
- lwIP - A lightweight TCP/IP stack. [Modified BSD]
- POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/)
- lwIP - A lightweight TCP/IP stack. [Modified BSD]
- TQUIC - A high-performance, lightweight, and cross-platform QUIC library, exposed to C and C++. [Apache2]
- Muduo - A C++ non-blocking network library for multi-threaded server in Linux. [BSD]
- uWebSockets - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. [Zlib]
- C++ REST SDK - C++ REST SDK (previously named Casablanca). [Apache2]
- nghttp2 - HTTP/2 C Library. [MIT] [website](https://nghttp2.org/)
- WebSocket++ - C++/Boost Asio based websocket client/server library. [BSD]
- Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11. [Boost] [website](https://www.boost.org/libs/beast)
- evpp - C++ high performance networking with TCP/UDP/HTTP protocols. [BSD]
- c-ares - A C library for asynchronous DNS requests. [MIT]
- restclient-cpp - Simple REST client for C++. It wraps libcurl for HTTP requests. [MIT]
- Mongoose - Extremely lightweight webserver. [GPL2]
- curlpp - C++ wrapper around libcURL. [MIT]
- Tufão - An asynchronous web framework for C++ built on top of Qt. [LGPL2]
- PcapPlusPlus - a multiplatform C++ network sniffing and packet parsing and crafting framework. [Unlicense]
- curlcpp - An object oriented C++ wrapper for CURL(libcurl). [MIT]
- Seasocks - Simple, small, C++ embeddable webserver with WebSockets support. [BSD]
- libhttpserver - C++ library for creating an embedded Rest HTTP server (and more). [LGPL2.1]
- Wangle - A client/server application framework to build asynchronous, event-driven modern C++ services. [Apache-2.0]
- libwebsockets - A lightweight pure C WebSocket implementation that provides both client and server libraries. [LGPL2.1 + static link exception] [website](https://libwebsockets.org/)
- libquic - A QUIC protocol library extracted from Chromium's QUIC Implementation. [BSD]
- libpcap - A portable C/C++ library for network traffic capture. [BSD] [website](https://www.tcpdump.org/)
- Onion - HTTP server library in C designed to be lightweight and easy to use. [Apache2/GPL2]
- cpp-httplib - A single file C++11 header-only HTTP/HTTPS server library. [MIT]
- ZeroMQ - High-speed, modular asynchronous communication library. [LGPL3/MPL2] [website](http://zeromq.org/)
- PicoHTTPParser - A tiny, primitive, fast HTTP request/response parser. [MIT]
- HTTP Parser - A http request/response parser for C. [MIT]
- ada - WHATWG-compliant and fast URL parser written in modern C++. [Apache-2.0/MIT]
- H2O - An optimized HTTP server with support for HTTP/1.x and HTTP/2. It can also be used as a library. [MIT]
- Lithium - Build high performance C++ HTTP servers without being a C++ expert. [MIT]
- Proxygen - Facebook's collection of C++ HTTP libraries including an easy to use HTTP server. [BSD]
- RedPanda - Streaming data platform for developers. Kafka API compatible. 10x faster. [BSL]
- UCall - A high-performance SIMD-accelerated RPC library on io_uring. [Apache2]
- wdt - An embeddedable library (and command line tool) aiming to transfer data between 2 systems as fast as possible over multiple TCP paths. [BSD-3-Clause]
- mTCP - Highly scalable user-level TCP stack for multicore systems. [Modified BSD]
- PF_RING™ - High-speed packet processing framework. [LGPL-2.1] [website](https://www.ntop.org/products/packet-capture/pf_ring/)
- DPDK - Data Plane Development Kit, libraries and drivers for fast packet processing. [BSD-3-Clause & GPL-2.0] [website](https://www.dpdk.org/)
- Dyad.c - Asynchronous networking for C. [MIT]
- CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution. [MIT]
- nghttp3 - HTTP/3 library written in C. [MIT] [website](https://nghttp2.org/nghttp3/)
- Restinio - A header-only C++14 library that gives you an embedded HTTP/Websocket server. [BSD]
- MQTT-C - A portable MQTT C client for embedded systems and PCs alike. [MIT] [website](https://liambindle.ca/MQTT-C)
- ENet - Reliable UDP networking library. [MIT] [website](http://enet.bespin.org/)
- tlse - Single C file TLS 1.2/1.3 implementation, using tomcrypt as crypto library [BSD-2-Clause]
- Restbed - C++11 Asynchronous RESTful framework. [AGPL]
- uriparser - Strictly RFC 3986 compliant URI parsing and handling library. [BSD-3-Clause]
- cpp-netlib/uri - URI parser/builder library for C++, compatible with RFC 3986 and RFC 3987. [Boost]
- librdkafka - Apache Kafka client library for C and C++. [BSD-2-Clause]
- cpr - A modern C++ HTTP requests library with a simple but powerful interface. Modeled after the Python Requests module. [MIT] [website](https://docs.libcpr.org)
- WAFer - A C language-based ultra-light software platform for scalable server-side and networking applications. Think node.js for C programmers. [GPL2]
- ACE - An OO Network Programming Toolkit in C++. [?MIT?]
- Breep - Event based, high-level C++14 peer-to-peer library. [EUPL-1.1 (OSI approved)]
- FTP client for C++ - C++ client for making FTP requests. [MIT]
- mailio - mailio is a cross platform C++ library for MIME format and SMTP, POP3 and IMAP protocols. [BSD]
- cpp-netlib - A collection of open-source libraries for high level network programming. [Boost]
- libcurl - Multiprotocol file transfer library. [MIT/X derivate license]
- RakNet - A cross platform, open source, C++ networking engine for game programmers. [BSD]
-
Office Open XML
- FreeXL - an open source library to extract valid data from within Spreadsheets. [MPL/GPL-2/LGPL-2]
- SimpleXlsxWriter - XLSX files writer for Microsoft Excel 2007 and above. [zlib]
- libxlsxwriter - A C library for creating Excel XLSX files. [BSD-2-Clause] [website](https://libxlsxwriter.github.io/)
- libxls - Read binary Excel files from C/C++ [BSD-2-Clause]
- OpenXLSX - A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files. [BSD-3-Clause]
- DuckX - C++ library for creating and modifying Microsoft Word (.docx) files. [MIT]
- XLSX I/O - C library for reading and writing .xlsx files. [MIT]
-
PDF
- litePDF - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
- MuPDF - A lightweight PDF, XPS, and E-book viewer. [AGPL/Proprietary]
- PDFium - PDF generation and rendering library. [BSD-3-Clause]
- Poppler - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
- Xpdf - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
- DynaPDF - An easy-to-use PDF generation library. [Commercial]
- libharu - A free, cross platform, open-sourced software library for generating PDF. [zlib]
- QPDF - A tool and C++ library for content-preserving transformations of PDF files. [Apache-2.0] [website](https://qpdf.sourceforge.io/)
- PDF-Writer - High performance library for creating, modiyfing and parsing PDF files in C++ [Apache-2.0] [website](https://www.pdfhummus.com/)
- pdfio - A simple C library for reading and writing PDF files. [Apache-2] [website](https://www.msweet.org/pdfio/)
- DynaPDF - An easy-to-use PDF generation library. [Commercial]
- litePDF - Library to create and edit PDF documents that uses GDI functions through a device context to draw the page content. [LGPL v3 and zlib]
- PDFium - PDF generation and rendering library. [BSD-3-Clause]
- PoDoFo - A library to work with the PDF file format. [LGPL]
-
Robotics
- MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
- MRPT - Mobile Robot Programming Toolkit. [BSD]
- Robotics Library (RL) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
- PCL - Point Cloud Library is a standalone, large scale, open project for 2D/3D image and point cloud processing. [BSD] [website](http://www.pointclouds.org/)
- Ruckig - Real-time motion generation for robots and machines. [MIT] [website](https://ruckig.com)
- YARP (Yet Another Robot Platform) - Library and toolkit for communication and device interfaces. [BSD-3-Clause] [website](http://www.yarp.it/)
- SPICE Toolkit - Library and toolkit for computing geometric information used in planning and analyzing science observations obtained from robotic spacecraft. [MIT] [website](https://naif.jpl.nasa.gov/naif/toolkit.html)
- MOOS-IvP - A set of open source C++ modules for providing autonomy on robotic platforms, in particular autonomous marine vehicles.
- MRPT - Mobile Robot Programming Toolkit. [BSD]
- Robotics Library (RL) - A self-contained C++ library for robot kinematics, motion planning and control. [BSD]
- RobWork - A collection of C++ libraries for simulation and control of robot systems. [Apache2] [website](http://www.robwork.dk/)
- ROS - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
-
Scripting
- AngelScript - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
- djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
- Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
- QuickJS - a small and embeddable Javascript engine. [MIT]
- V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
- MiniScript - scripting language modern, elegant, easy to learn, and easy to embed in your own C# or C++ projects. [MIT]
- SIP - C or C++ Bindings Generator for Python v2 and v3. [GPL]
- libffi - A portable foreign-function interface library. [MIT] [website](https://sourceware.org/libffi/)
- pybind11 - Seamless operability between C++11 and Python. [BSD]
- SWIG - A wrapper/interface Generator that let you link your c++ code to JavaScript, Perl, PHP, Python, Tcl and Ruby. [GPL/Output not licensed] [website](http://www.swig.org/)
- nbind - Magical headers that make your C++ library accessible from JavaScript. [MIT]
- PHP-CPP - A library to build PHP extensions with C++. [Apache2] [website](http://www.php-cpp.com/)
- sol2 - A C++ <-> Lua API wrapper with advanced features and top notch performance. [MIT]
- LuaBridge - A lightweight, dependency-free library for binding Lua to C++. [MIT]
- v8pp - Header-only library to expose C++ classes and functions into V8 to use them in JavaScript code. [BOOST] [website](https://pmed.github.io/v8pp/)
- luacxx - C++11 API for creating Lua bindings. [MIT]
- Luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua. [MIT] [website](https://luau.org/)
- CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages. [MIT]
- ctypes.sh - A foreign function interface for bash. [MIT]
- JerryScript - Ultra-lightweight JavaScript engine for the Internet of Things. [Apache-2.0] [website](https://jerryscript.net/)
- Duktape - An embeddable JavaScript engine with compact footprint. [MIT] [website](http://duktape.org)
- Cython - Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. [Apache] [website](http://cython.org/)
- txiki.js - A tiny JavaScript runtime. [MIT]
- nanobind - tiny and efficient C++/Python bindings. [BSD-3-Clause]
- cppimport - Import C++ files directly from Python! [MIT]
- Boost.Python - A C++ library which enables seamless interoperability between C++ and the Python programming language. [Boost] [website](https://boost.org/libs/python)
- JavaCpp - The missing bridge between Java and native C++. [Apache2]
- V7 - An embedded JavaScript engine. [GPL2]
- ChakraCore - A JavaScript engine by Microsoft that can be embedded into nodejs. [MIT]
- LuaBridge3 - A lightweight, dependency-free library for binding Lua, LuaJIT, Luau and Ravi to C++. [MIT]
- pocketpy - C++17 header-only Python interpreter for game scripting. [MIT] [website](https://pocketpy.dev/)
- ChaiScript - An easy to use embedded scripting language for C++. [BSD] [website](http://chaiscript.com/)
- djinni - A tool for generating cross-language type declarations and interface bindings. [Apache2]
- V8 - A fast JavaScript engine by Google that can be embedded into any C++ application. [BSD]
-
Online Compiler
- codechef - A simple online compiler CodeChef.
- codepad - An online compiler/interpreter, and a simple collaboration tool.
- coliru - Online compiler/shell with support for various C++ compilers.
- Compiler Explorer - An interactive compiler with assembly output available.
- Ideone - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
- Programiz - An online compiler for learners and developers.
- repl.it - A powerful yet simple tools and platforms for educators, learners, and developers.
- Rextester - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors.
- Try It Online - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
- Wandbox - An online Clang/GCC compiler with Boost available.
- paiza.io - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing.
- InterviewBit - A simple and easy to use online C++ compiler.
- OneCompiler - An online compiler supporting over 70 programming languages and database systems.
- Wandbox - An online Clang/GCC compiler with Boost available.
- coliru - Online compiler/shell with support for various C++ compilers.
- CompileOnline - Compile and Execute C++ online on Linux.
- Programiz - An online compiler for learners and developers.
- InterviewBit - A simple and easy to use online C++ compiler.
- Rextester - Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors.
- Ideone - An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
- repl.it - A powerful yet simple tools and platforms for educators, learners, and developers.
- Compiler Explorer - An interactive compiler with assembly output available.
-
Debugger
- Comparison of debuggers - A list of Debuggers from Wikipedia.
- GDB - GNU Debugger.
- Metashell - An interactive template metaprogramming shell which includes the MDB metadebugger.
- x64dbg - An open-source x64/x32 debugger for windows.
- Metashell - An interactive template metaprogramming shell which includes the MDB metadebugger.
- LLDB - The LLDB Debugger.
- Valgrind - A tool for memory debugging, memory leak detection, and profiling.
-
API Design
-
Books
- Free C++ Books - vhf/free-programming-books/C++.
- cppbestpractices - Collaborative Collection of C++ Best Practices.
-
Coding Standards
-
Coding Style
- C++ Dos and Don'ts - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts.
- Google C++ Style Guide
- GNU Coding Standard
- Linux kernel coding style
- LLVM Coding Standards
- C++ Core Guidelines - "Official" set of C++ guidelines, reviewed by the author of C++.
- google-styleguide - Style guides for Google-originated open-source projects.
- C++ Dos and Don'ts - The Chromium Projects > For Developers > Coding Style > C++ Dos and Don'ts.
- LLVM Coding Standards
-
Podcasts
- CppCast - The first podcast by C++ developers for C++ developers.
- CppChat - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community.
- CppCast - The first podcast by C++ developers for C++ developers.
- CppChat - A (sometimes) weekly look at what's going on in the world of C++ chatting with a guest from the community.
-
Talks
- CppCon Talks - The C++ conference.
- Meeting Cpp - Meeting C++ Youtube Channel
- Quick game development with C++11/C++14 - CppCon 2014 talk by Vittorio Romeo.
- C++ Conferences - Catalog of C++ conferences
- Presentation on Hana for C++Now 2015
- Meeting Cpp - Meeting C++ YouTube Channel
- CppCon Talks - The C++ conference.
-
Videos
- Awesome C Programming Tutorials in Hi Def [HD - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
- C++ - by VoidRealms.
- C++ Qt Programming - by VoidRealms.
- C++ Programming Tutorials Playlist - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
- C++ Programming Tutorials from thenewboston - These are all of thenewboston's C++ programming tutorials.
- C++ GUI with Qt Playlist - Official Playlist for thenewboston C++ GUI with Qt tutorials.
- Caleb Curry's C Programming Tutorials - An all-in-one playlist of tutorials for C programming.
- C Programming Tutorials - All of TheNewBoston's C programming tutorials are right here.
- Bo Qian's playlist - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ...
- The Cherno's C++ Playlist - Extensive C++ tutorial series by The Cherno.
- C++ GUI with Qt Playlist - Official Playlist for thenewboston C++ GUI with Qt tutorials.
- Awesome C Programming Tutorials in Hi Def [HD - A collection of detailed C Programming Language Tutorials for Beginners and New Programmers.
- C++ - by VoidRealms.
- C++ Qt Programming - by VoidRealms.
- C++ Programming Tutorials Playlist - TheNewBoston Official Buckys C++ Programming Tutorials Playlist.
- C++ Programming Tutorials from thenewboston - These are all of thenewboston's C++ programming tutorials.
- Caleb Curry's C Programming Tutorials - An all-in-one playlist of tutorials for C programming.
- C Programming Tutorials - All of TheNewBoston's C programming tutorials are right here.
- Bo Qian's playlist - Boost Library, C++ Standard Library, Modern C++, Advanced C++, Advanced STL, ...
- The Cherno's C++ Playlist - Extensive C++ tutorial series by The Cherno.
- Code for Yourself C++ Playlist - A complete C++ course covering everything from fundamentals to software design.
-
Weblogs
- Coding For Speed - Coding For Speed DOT COM, Less Execution Time.
- Eric Niebler
- Sticky Bits
- Paul Fultz II's Blog
- ridiculousfish - Will It Optimize?
- Embedded in Academia
- Simplify C++
- Fluent C++
- Bartek's Coding Blog
- Sutter’s Mill
- Vorbrodt's C++ Blog
- foonathan::blog()
- C++ Team Blog - Dev blog from the Microsoft Visual C++ team
- ridiculousfish - Will It Optimize?
- Embedded in Academia
- Paul Fultz II's Blog
- Bartek's Coding Blog
- Kenny Kerr
- foonathan::blog()
-
Regular Expression
- SRELL - Unicode-aware regular expression template library for C++. [BSD]
- RE2 - A software library for regular expressions via a finite-state machine using automata theory. [BSD-3-Clause]
- CppVerbalExpressions - C++ regular expressions made easy. [MIT]
- CTRE - A Compile time PCRE (almost) compatible regular expression matcher. [MIT]
- Hyperscan - Hyperscan is a high-performance multiple regex matching library by Intel. Provides simultaneous matching of large numbers of regexps (up to tens of thousands). Typically used in a DPI library stack. [BSD]
- Oniguruma - A modern and flexible regular expressions library that supports a variety of character encodings. [BSD]
- TRE - The approximate regex matching library and agrep command line tool. [BSD-2-Clause]
- sregex - A non-backtracking NFA/DFA-based Perl-compatible regex engine library for matching on large data streams. [BSD]
- Vectorscan - A portable fork of the high-performance regular expression matching library. [BSD-3-Clause] [website](https://www.vectorcamp.gr/project/vectorscan/)
- PIRE - Perl Incompatible Regular Expressions library by Yandex. Can be really fast (more than 400 MB/s). [LPGL v3.0]
- SLRE - Super Light Regexp engine for C/C++. [GPLv2/Proprietary]
- PCRE - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
-
Articles
- CppCon 2014 Presentation Materials - CppCon 2014 Presentation Materials.
- CppCon 2016 Presentation Materials - CppCon 2016 Presentation Materials.
- CppCon 2015 Presentation Materials - CppCon 2015 Presentation Materials.
- C++Now 2014 Presentations - Presentation materials presented at C++Now 2014.
- CppCon 2020 Presentation Materials - CppCon 2020 Presentation Materials.
- C++Now 2012 Presentations - Presentation materials presented at C++Now 2012.
- CppCon 2017 Presentation Materials - CppCon 2017 Presentation Materials.
- CppCon 2022 Presentation Materials - CppCon 2022 Presentation Materials.
- CppCon 2018 Presentation Materials - CppCon 2018 Presentation Materials.
- CppCon 2019 Presentation Materials - CppCon 2019 Presentation Materials.
- C++Now 2017 Presentations - Presentation materials presented at C++Now 2017.
- C++Now 2018 Presentations - Presentation materials presented at C++Now 2018.
- C++Now 2016 Presentations - Presentation materials presented at C++Now 2016.
- C++Now 2015 Presentations - Presentation materials presented at C++Now 2015.
- C++Now 2013 Presentations - Presentation materials presented at C++Now 2013.
- CppCon 2023 Presentation Materials - CppCon 2023 Presentation Materials.
- CppCon 2021 Presentation Materials - CppCon 2021 Presentation Materials.
- C++Now 2023 Presentations - Presentation materials presented at C++Now 2023.
- C++Now 2022 Presentations - Presentation materials presented at C++Now 2022.
- C++Now 2021 Presentations - Presentation materials presented at C++Now 2021.
- C++Now 2019 Presentations - Presentation materials presented at C++Now 2019.
-
Virtual Machines
- MicroPython - Aims to put an implementation of Python 3.x on a microcontroller. [MIT]
- TinyVM - A small, fast, lightweight virtual machine written in pure ANSI C. [MIT]
- CarpVM - "interesting" VM in C. Let's see how this goes. [GPLv3]
-
Serialization
- protobuf - Protocol Buffers - Google's data interchange format. [BSD]
- cereal - A C++11 library for serialization. [BSD]
- MessagePack - Efficient binary serialization format "like JSON" for C and C++. [Apache2] [website](http://msgpack.org/)
- protobuf-c - Protocol Buffers implementation in C. [BSD]
- FlatBuffers - A Memory efficient serialization library. [Apache2]
- zpp_bits - Actually, the fastest modern **S**erialization library. Just check [this video](https://www.youtube.com/watch?v=G7-GQhCw8eE&ab_channel=CppCon).
- Bond - An open source, cross-platform framework for working with schematized data. [MIT]
- nanopb - Small code-size Protocol Buffers implementation in ANSI C. [Zlib]
- cista - A C++17 library for zero-copy high-performance (de-)serialization. [MIT]
- FastBinaryEncoding - Fast Binary Encoding is ultra fast and universal serialization solution for C++, C#, Go, Java, JavaScript, Kotlin, Python, Ruby, Swift. [MIT]
- upb - A small protobuf implementation in C. [BSD]
- Bitsery - Header only C++ binary serialization library. [MIT]
- iguana - a modern, universal and easy-to-use serialization engine developed in C++20 and C++17. [Apache2]
- cppcodec - Header-only C++11 library to encode/decode base64, base32 and hex with consistent, flexible API. [MIT]
- Boost.Serialization - Boost Serialization Library. [Boost] [website](https://boost.org/libs/serialization)
- Protocol Puffers - A little, highly templated, and protobuf-compatible serialization/deserialization header-only library written in C++20. [Apache-2.0]
- BitSerializer - Multi-format serialization library (JSON, XML, YAML, CSV, MsgPack) [MIT]
- SimpleBinaryEncoding - encoding and decoding application messages in binary format for low-latency applications. [Apache2]
- YAS - Very fast **Y**et **A**nother **S**erialization library supports the binary/text/json formats. [Boost]
- Kaitai Struct - A declarative language to describe various binary data structures and a compiler to generate C++ parser code. [GPLv3+][MIT][Apache2]
- Wirehair - O(N) Fountain Code for Large Data. [BSD-3-Clause]
- mrpt-serialization - Versioned serialization to binary or text formats. [BSD] [website](https://docs.mrpt.org/reference/latest/group_mrpt_serialization_grp.html)
-
Yaml
- LibYAML - A C library for parsing and emitting YAML. [MIT] [website](https://pyyaml.org/wiki/LibYAML)
- yaml-cpp - A YAML parser and emitter in C++. [MIT]
- rapidyaml - Rapid YAML is a C++ library to parse and emit YAML. [MIT]
- LibCYAML - C library for reading and writing YAML. [ISC]
- fkYAML - A C++ header-only YAML library. [MIT]
- libfyaml - A fancy 1.2 YAML and JSON parser/writer. [MIT]
- mini-yaml - Single header YAML 1.0 C++11 serializer/deserializer. [MIT]
-
Documentation
- doxygen - The de facto standard tool for generating documentation from annotated C++ sources. [GPL2] [website](https://www.doxygen.org)
- Sphinx - Sphinx makes it easy to create intelligent and beautiful documentation. [BSD-2-Clause] [website](https://www.sphinx-doc.org)
- hdoc - The modern documentation tool for C++. [AGPL/Proprietary] [website](https://hdoc.io)
- Natural Docs - Natural Docs is an open source documentation generator for multiple programming languages. [AGPL/Proprietary] [website](https://www.naturaldocs.org)
- Doxide - Modern documentation for modern C++, configure with YAML, output Markdown. [Apache 2.0] [website](https://doxide.org)
- doxyrest - A compiler from Doxygen XML to reStructuredText for Sphinx. [MIT]
-
Physics
- Kratos - framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. [BSD] [website](http://www.cimne.com/kratos/)
- Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton. [Apache2]
- Project Chrono - An open source multi-physics simulation engine. [BSD-3-Clause] [website](https://projectchrono.org/)
- Chipmunk - A fast and lightweight 2D game physics library. [MIT] [website](https://chipmunk-physics.net/)
- Bullet - A 3D physics engine for games. [zlib] [website](http://bulletphysics.org)
- Jolt Physics - A multi core friendly rigid body physics and collision detection library. [MIT]
- LiquidFun - A 2D physics engine for games. [BSD-like]
- Newton Dynamics - An integrated solution for real time simulation of physics environments. [zlib]
- PhysX - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
- Box2D - A 2D physics engine for games. [BSD-like]
- PlayRho - An interactive physics engine & library. [Zlib]
- SOFA - SOFA is an open-source framework targeting at real-time simulation, with an emphasis on medical simulation. [LGPL] [website](https://www.sofa-framework.org)
- ofxBox2d - openFrameworks wrapper for Box2D. [BSD-like]
- QuarkPhysics - A 2D Soft Body and Rigid Body Physics Engine. [MIT]
- Quantum++ - A modern C++11 quantum computing library. [MIT]
-
BitTorrent
- libtorrent - rasterbar) - An efficient feature complete C++ bittorrent implementation. [BSD]
- LibTorrent - rakshasa) - BitTorrent library. [GPL]
- libutp - uTorrent Transport Protocol library. [MIT]
- jech/dht - BitTorrent DHT library in C. [MIT]
-
DSP
- DSPFilters - A collection of useful C++ classes for digital signal processing. [MIT]
- iir1 - IIR Realtime C++ filter library. [MIT]
- kissfft - A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid. [BSD-3-Clause]
- wavelib - C implementation of 1D and 2D wavelet transforms. [BSD-3-Clause]
- pocketfft - FFT implementation based on FFTPack, but with several improvements. [BSD-3-Clause]
-
Containers
- sparsepp - A fast, memory efficient hash map for C++. [BSD 3-clause]
- hat-trie - C++ implementation of a fast and memory efficient HAT-trie. [MIT]
- Hashmaps - Implementation of open addressing hash table algorithms in C++. [MIT]
- C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]
- robin-map - Fast hash map and hash set using robin hood hashing. [MIT]
- fixed-containers - Header-only C++20 library that provides fixed capacity constexpr containers. [MIT]
- parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers [Apache2] [website](https://greg7mdp.github.io/parallel-hashmap/)
- 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]
- 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](http://www.plflib.org/colony.htm)
- Hopscotch map - A fast header-only hash map which uses hopscotch hashing for collisions resolution. [MIT]
- plf::list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib] [website](http://www.plflib.org/list.htm)
- robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++14. [MIT]
- plf::stack - A replacement container for the std::stack container adaptor, with better performance than any std container in a stack context. [zLib] [website](http://www.plflib.org/stack.htm)
- unordered_dense - A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion. [MIT]
- svector - Compact SVO optimized vector for C++17 or higher. [MIT]
- dynamic_bitset - Simple Useful Libraries: C++17/20 header-only dynamic bitset. [MIT] [website](https://pinam45.github.io/dynamic_bitset/)
- tree.hh - An STL-like C++ header-only tree library. [GPL2+]
- st_tree - A fast and flexible c++ template class for tree data structures. [Apache-2.0]
- sqlitemap - Persistent map backed by SQLite. [MIT]
- LSHBOX - A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support Python and MATLAB. [GPL]
- librb - C implementation of ring (circular) buffer, with full thread awareness that allows for concurrent read/write and can automatically grow in size when needed. [BSD] [website](https://librb.bofc.pl/)
- 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](https://pgm.di.unipi.it)
-
Serial Port
- Serial Communication Library - Cross-platform, Serial Port library written in C++. [MIT] [website](http://wjwwood.io/serial/)
- CSerialPort - lightweight cross-platform serial port library. [LGPL3]
- Libserial - Serial Port Programming in C++. [BSD-3-Clause]
-
Reflection
- Better Enums - Reflective enums (to string, iteration). Single header. [BSD] [website](http://aantron.github.io/better-enums/)
- RTTR - A C++11 library for reflection. [MIT] [website](http://www.rttr.org)
- CPP-Reflection - C++ Reflection using clang. [MIT]
- Ponder - A C++11 library for reflection. [MIT]
- Nameof - Header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum. [MIT]
- Magic Enum - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT]
- reflect-cpp - Serialization through reflection, including automatic field name retrieval from structs. [MIT]
- REFLECT - C++20 Static Reflection library. [MIT]
- meta - Header-only, non-intrusive and macro-free runtime reflection system in C++. [MIT]
- CPFG - A C++03 library for reflection, callback and script binding. [Apache2]
- magic_get - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost]
- visit_struct - A miniature library for struct-field reflection in C++. [Boost]
- Easy Reflection - Easy and fast reflection + serialization solution like in Rust, Java or Go. [Apache]
- simple_enum - An Fast, Intuitive and Type-Safe C++ Enumeration Support Library. [BSL-1.0] [website](https://arturbac.github.io/simple_enum/)
- config-loader - A C++17 static reflection framework, from parse configuration file to native data structure. [MIT]
- clReflect - C++ Reflection using clang. [MIT]
- TSMP - An intrusion and macro-free C++20 library for static reflection. It uses libclang to extract reflection data from your source code and makes it usable via template specialization. [MIT]
- Refureku - A C++17 runtime reflection and code generation library. [MIT]
-
CSV
- 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]
- Vince's CSV Parser - A fast, self-contained, streaming C++17 CSV parser with optional type-casting and statistics. [MIT]
- rapidcsv - An easy-to-use, header-only C++ CSV parser library. [BSD-3-Clause]
- commata - Just another header-only C++17 CSV parser. [Unlicense]
- Csv::Parser - Compile-time and runtime CSV parser written in C++17. [Zlib]
- ssp - A header only "csv" parser which is fast and versatile with modern C++ api. [MIT]
- csv2 - Fast CSV parser for modern C++. [MIT]
- zsv - The world's fastest (simd) CSV parser, with an extensible CLI. [MIT]
-
Memory Allocation
- memory - STL compatible C++ memory allocator library. [ZLib]
- mimalloc - A compact general purpose allocator with excellent performance. [MIT]
- Boehm GC - Conservative garbage collector for C and C++. [similar to X11] [website](http://www.hboehm.info/gc/)
- TCMalloc - Google's fast, multi-threaded malloc implementation. [Apache-2.0] [website](https://google.github.io/tcmalloc/)
- jemalloc - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] [website](http://jemalloc.net/)
- memory-allocators - Custom memory allocators to improve the performance of dynamic memory allocation. [MIT]
- Hoard - Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. [Apache-2.0] [website](http://hoard.org/)
- rpmalloc - Cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. [PublicDomain]
- snmalloc - Message passing based high-performance allocator. [MIT]
- tgc - A tiny garbage collector for C written in \~500 LOC. [BSD]
- C Smart Pointers - Smart pointers for the (GNU) C programming language. [MIT]
- buddy_alloc - A single header buddy memory allocator for C with bounded allocation costs. [0BSD]
-
Configuration
- simpleini - Cross-platform C++ library providing a simple API to read and write INI-style configuration files. [MIT]
- iniparser - INI file parser. [MIT]
- inih - Simple .INI file parser in C, good for embedded systems. [BSD-3-Clause]
- mINI - INI file reader and writer. [MIT]
- inifile-cpp - A header-only and easy to use Ini file parser for C++. [MIT]
- inipp - Simple header-only C++ ini parser and generator. [MIT]
- toml11 - a C++11 (or later) header-only toml parser/encoder depending only on C++ standard library. [MIT]
- toml++ - Header-only TOML parser and serializer for C++17 and later. [MIT] [website](https://marzer.github.io/tomlplusplus/)
- libconfig - C, C++ library for processing structured configuration files. [LGPL-2.1] [website](https://hyperrealm.github.io/libconfig/)
- inih - Single header only C++ version of [inih](https://github.com/benhoyt/inih). [BSD-3-Clause]
- libconfuse - Small configuration file parser library for C. [ISC]
- ini-cpp - Single header only C++ version, with some handy read/write interface, extend from [inih](https://github.com/benhoyt/inih). [BSD-3-Clause] [website](https://ssarcandy.tw/ini-cpp/index.html)
-
Sorting
- cpp-sort - Sorting algorithms & related tools for C++14. [MIT]
- pdqsort - Pattern-defeating quicksort. [zlib]
- x86-simd-sort - C++ template library for high performance SIMD based sorting algorithms. [BSD-3-Clause]
- Indiesort - A sort wrapper which enables the use of std::sort (& other random-access sort functions) with non-random-access containers, and also improves sort performance for large/non-trivially-copyable types in random-access containers and arrays. [zLib] [website](https://plflib.org/indiesort.htm)
- Timsort - A templated stable sorting function which outperforms quicksort-based algorithms including std::sort, for reversed or semi-sorted data. [MIT]
-
Chemistry
- Psi - An ab initio computational chemistry package. [GPL] [website](https://psicode.org/)
- 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](https://lammps.sandia.gov/)
- 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](https://mpqc.org/)
- gromacs - A message-passing parallel molecular dynamics implementation. [GPL] [website](http://www.gromacs.org)
- Reaktoro - A computational framework in C++ and Python for modeling chemically reactive systems. [LGPL] [website](https://reaktoro.org)
- 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](https://dseams.info)
- MADNESS - Multiresolution Adaptive Numerical Environment for Scientific Simulation. [GPL] [website](https://github.com/m-a-d-n-e-s-s/madness)
-
Data visualization
- matplotplusplus - C++ Graphics Library for Data Visualization. [MIT] [website](https://alandefreitas.github.io/matplotplusplus/)
- mathplot - C++ header-only graphing and data visualization with modern OpenGL. [Apache-2.0] [website](https://sebsjames.github.io/mathplot/)
- gplot++ - Cross-platform header-only C++ plotting library that interfaces with Gnuplot. [MIT]
-
Graph
Programming Languages
Categories
Miscellaneous
93
Networking
63
Websites
54
Frameworks
47
Math
47
Concurrency
47
Debug
45
JSON
40
Database
39
Image Processing
37
Scripting
34
GUI
33
CLI
33
Graphics
31
Game Engine
30
Compression
29
Build Systems
28
Cryptography
26
Integrated Development Environment
26
Audio
23
Containers
23
Machine Learning
23
Serialization
22
Logging
22
Online Compiler
22
Articles
21
Other Awesome Projects
21
Videos
21
Web Application Framework
20
Weblogs
19
Reflection
18
Static Code Analysis
18
Inter-process communication
18
XML
18
Artificial Intelligence
16
Compiler
16
Physics
15
PDF
14
Configuration
12
Regular Expression
12
Memory Allocation
12
Robotics
12
Multimedia
11
Video
10
CSV
10
Asynchronous Event Loop
10
Coding Style
9
Internationalization
8
Scientific Computing
8
Coding Style Tools
8
Yaml
7
Biology
7
Office Open XML
7
Talks
7
Debugger
7
Chemistry
7
Coding Standards
6
Standard Libraries
6
Documentation
6
DSP
5
Font
5
Sorting
5
Podcasts
4
BitTorrent
4
API Design
3
Serial Port
3
Data visualization
3
Virtual Machines
3
Graph
2
Books
2
Sub Categories
Keywords
cpp
165
c-plus-plus
100
c
79
header-only
56
cpp17
55
cross-platform
36
cpp11
35
json
35
cplusplus
33
library
31
cpp20
30
python
30
cpp14
28
machine-learning
21
serialization
20
windows
20
opengl
19
linux
18
simd
18
game-engine
17
http
17
cmake
17
cpp-library
17
modern-cpp
16
parser
16
gamedev
16
reflection
14
audio
13
deep-learning
13
game-development
13
http-server
13
graphics
12
embedded
11
javascript
11
vulkan
10
c-plus-plus-11
10
cuda
10
logging
10
csv
10
no-dependencies
10
rpc
10
clang
10
c-plus-plus-17
10
android
10
java
10
framework
9
scientific-computing
9
cli
9
high-performance
9
neural-network
9