awesome-cpp
A curated list of awesome C++ frameworks, libraries and software.
https://github.com/uhub/awesome-cpp
Last synced: 1 day ago
JSON representation
-
Concurrency and Performance
-
Concurrency and Parallelism
- cameron314/concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
- taskflow/taskflow - A General-purpose Task-parallel Programming System in C++
- progschj/ThreadPool - A simple C++11 Thread Pool implementation
- cameron314/readerwriterqueue - A fast single-producer, single-consumer lock-free queue for C++
- lewissbaker/cppcoro - A library of C++ coroutine abstractions for the coroutines TS
- actor-framework/actor-framework - An Open Source Implementation of the Actor Model in C++
- yyzybb537/libgo - Go-style concurrency in C++11
- ReactiveX/RxCpp - Reactive Extensions for C++
- bshoshany/thread-pool - BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library
- TheHPXProject/hpx - The C++ Standard Library for Parallelism and Concurrency
- David-Haim/concurrencpp - Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
- khizmax/libcds - A C++ library of Concurrent Data Structures
- kokkos/kokkos - Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
- NVIDIA/stdexec - `std::execution`, the standard C++ framework for asynchronous and parallel programming.
- ChunelFeng/CGraph - 【A common used C++ & Python DAG framework】 一个通用的、无三方依赖的、跨平台的、收录于awesome-cpp的、基于流图的并行计算框架。欢迎star & fork & 交流
- skypjack/uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
- dougbinks/enkiTS - A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
- vit-vit/CTPL - Modern and efficient C++ Thread Pool Library
- google/marl - A hybrid thread / fiber task scheduler written in C++ 11 *(archived)*
- max0x7ba/atomic_queue - C++14 concurrent lock-free low-latency queue.
- rigtorp/MPMCQueue - A bounded multi-producer multi-consumer concurrent queue written in C++11
- preshing/junction - Concurrent data structures in C++
- Amanieu/asyncplusplus - Async++ concurrency framework for C++11
- VoidStar2077/workspace - workspace是基于C++11的轻量级异步执行框架,支持:通用任务异步并发执行、优先级任务调度、自适应动态线程池、高效静态线程池、异常处理机制等。
- mtrebi/thread-pool - Thread pool implementation using c++11 threads
- snakster/cpp.react - C++React: A reactive programming library for C++11.
- RaftLib/RaftLib - The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators
-
Performance and Optimization
- NVIDIA/cutlass - CUDA Templates and Python DSLs for High-Performance Linear Algebra
- NVIDIA/thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl *(archived)*
- arrayfire/arrayfire - ArrayFire: a general purpose GPU library.
- ROCm/hip - HIP: C++ Heterogeneous-Compute Interface for Portability
- AnswerDotAI/gpu.cpp - A lightweight library for portable low-level GPU computation using WebGPU.
- google/zopfli - Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.
- ARM-software/ComputeLibrary - The Compute Library is a set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.
- richgel999/miniz - miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz
- xtensor-stack/xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE, WebAssembly, VSX, RISC-V))
- NVIDIA/cccl - CUDA Core Compute Libraries
- NVIDIA/libcudacxx - [ARCHIVED] The C++ Standard Library for your entire system. See https://github.com/NVIDIA/cccl *(archived)*
- rurban/smhasher - Hash function quality and speed tests
- mtrebi/memory-allocators - Custom memory allocators in C++ to improve the performance of dynamic memory allocation
- plasma-umass/Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.
- martinus/nanobench - Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20
- boostorg/compute - A C++ GPU Computing Library for OpenCL
- foonathan/memory - STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write.
- VcDevel/Vc - SIMD Vector Classes for C++
- intel/compute-runtime - Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver
- cacay/MemoryPool - An easy to use and efficient memory pool allocator written in C++.
- jfalcou/eve - Expressive Vector Engine - SIMD in C++ Goes Brrrr
- p12tic/libsimdpp - Portable header-only C++ low level SIMD library
-
-
Data and Storage
-
Database Clients and ORMs
- fnc12/sqlite_orm - ❤️ SQLite ORM light header only library for modern C++
- rbock/sqlpp11 - A type safe SQL template library for C++
- sewenew/redis-plus-plus - Redis client written in C++
- SOCI/soci - Official repository of the SOCI - The C++ Database Access Library
- qicosmos/ormpp - modern C++ ORM, C++17, support mysql, postgresql,sqlite
- jtv/libpqxx - The official C++ client API for PostgreSQL.
- Cylix/cpp_redis - C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform - NO LONGER MAINTAINED - Please check https://github.com/cpp-redis/cpp_redis *(archived)*
- mongodb/mongo-cxx-driver - C++ Driver for MongoDB
-
Databases
- ClickHouse/ClickHouse - ClickHouse® is a real-time analytics database management system
- memgraph/memgraph - High-performance open-source in-memory graph database for GraphRAG, AI memory, agentic AI, and real-time graph analytics. Cypher-compatible, built in C++.
- facebookincubator/velox - A composable and fully extensible C++ execution engine library for data management systems.
- chdb-io/chdb - chDB is an in-process OLAP SQL Engine 🚀 powered by ClickHouse
- youngyangyang04/Skiplist-CPP - A tiny KV storage based on skiplist written in C++ language| 使用C++开发,基于跳表实现的轻量级键值数据库🔥🔥 🚀
- timeplus-io/proton - The Fastest Unified Streaming SQL Engine in a Single C++ Binary. ⚡ Millisecond latency. 100+ GB/s throughput. Continuously compute real-time context from streams, logs, metrics, events, and CDC.
- ByConity/ByConity - ByConity is an open source cloud data warehouse *(archived)*
- realm/realm-core - Core database component for the Realm Mobile Database SDKs
-
Serialization and Formats
- nlohmann/json - JSON for Modern C++
- google/flatbuffers - FlatBuffers: Memory Efficient Serialization Library
- Tencent/rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API
- capnproto/capnproto - Cap'n Proto serialization/RPC system - core tools and C++ library
- open-source-parsers/jsoncpp - A C++ library for interacting with JSON.
- bblanchon/ArduinoJson - 📟 JSON library for Arduino and embedded C++. Simple and efficient.
- jbeder/yaml-cpp - A YAML parser and emitter in C++
- leethomason/tinyxml2 - TinyXML2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs.
- USCiLab/cereal - A C++11 library for serialization
- zeux/pugixml - Light-weight, simple and fast XML parser for C++ with XPath support
- ultrajson/ultrajson - Ultra fast JSON decoder and encoder written in C with Python bindings
- stephenberry/glaze - Extremely fast, in memory, serialization, reflection, and RPC library for C++. JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, EETF
- protobuf-c/protobuf-c - Protocol Buffers implementation in C
- dropbox/json11 - A tiny JSON library for C++11. *(archived)*
- syoyo/tinygltf - Header only C11 tiny glTF 2.0 library
- ben-strasser/fast-cpp-csv-parser - fast-cpp-csv-parser
- felixguendling/cista - Cista is a simple, high-performance, zero-copy C++ serialization & reflection library.
- marzer/tomlplusplus - Header-only TOML config file parser and serializer for C++17.
- troldal/OpenXLSX - A C++ library for reading, writing, creating and modifying Microsoft Excel® (.xlsx) files.
- tfussell/xlnt - :bar_chart: Cross-platform user-friendly xlsx library for C++11+
- QtExcel/QXlsx - Excel file(*.xlsx) reader/writer library using Qt. Descendant of QtXlsxWriter.
- rogersce/cnpy - library to read/write .npy and .npz files in C/C++
- ToruNiina/toml11 - TOML for Modern C++
- alembic/alembic - Alembic is an open framework for storing and sharing scene data that includes a C++ library, a file format, and client plugins and applications.
- kazuho/picojson - a header-file-only, JSON parser serializer in C++
-
-
Graphics and Media
-
Audio
- juce-framework/JUCE - JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
- google/oboe - Oboe is a C++ library that makes it easy to build high-performance audio apps on Android.
- bozbez/win-capture-audio - An OBS plugin that allows capture of independant application audio streams on Windows, in a similar fashion to OBS's game capture and Discord's application streaming.
- MTG/essentia - C++ library for audio and music analysis, description and synthesis, including Python bindings
- DISTRHO/Cardinal - Virtual modular synthesizer plugin
- zrythm/zrythm - a highly automated and intuitive digital audio workstation - official mirror
- falkTX/Carla - Audio plugin host
- bbc/audiowaveform - C++ program to generate waveform data and render waveform images from audio files
- vinniefalco/DSPFilters - A Collection of Useful C++ Classes for Digital Signal Processing
- kfrlib/kfr - Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON, RISC-V RVV)
- thestk/rtaudio - A set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO, and WASAPI) operating systems.
- micknoise/Maximilian - C++ Audio and Music DSP Library
- tttapa/Control-Surface - Arduino library for creating MIDI controllers and other MIDI devices.
- cycfi/q - C++ Library for Audio Digital Signal Processing
- acoustid/chromaprint - C library for generating audio fingerprints used by AcoustID
- thestk/stk - The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language.
- thestk/rtmidi - A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMIDI) and Windows (Multimedia)
- pierreguillot/Camomile - An audio plugin with Pure Data embedded that allows to load and to control patches
- spotify/echoprint-codegen - Codegen for Echoprint *(archived)*
-
Game Development
- shadps4-emu/shadPS4 - PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++
- electronicarts/CnC_Remastered_Collection - Command & Conquer: Remastered Collection *(archived)*
- RPCS3/rpcs3 - PlayStation 3 emulator and debugger
- cocos2d/cocos2d-x - Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.
- OpenRCT2/OpenRCT2 - An open source re-implementation of RollerCoaster Tycoon 2 🎢
- hrydgard/ppsspp - A PSP emulator for Android, Windows, Mac, Linux and iOS, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues.
- CleverRaven/Cataclysm-DDA - Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
- skypjack/entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
- jrouwe/JoltPhysics - A multi core friendly rigid body physics and collision detection library. Written in C++. Suitable for games and VR applications. Used by Horizon Forbidden West and Death Stranding 2.
- TrinityCore/TrinityCore - TrinityCore Open Source MMO Framework (master = 12.1.0.69933, 3.3.5 = 3.3.5a.12340, cata classic = 4.4.2.60895)
- cemu-project/Cemu - Cemu - Wii U emulator
- cocos/cocos-engine - Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-performance, engaging 2D/3D games and instant web entertainment.
- electronicarts/CnC_Red_Alert - Command and Conquer: Red Alert *(archived)*
- cuberite/cuberite - A lightweight, fast and extensible game server for Minecraft
- supertuxkart/stk-code - The code base of SuperTuxKart
- The-Powder-Toy/The-Powder-Toy - Written in C++ and using SDL, The Powder Toy is a desktop version of the classic 'falling sand' physics sandbox, it simulates air pressure and velocity as well as heat.
- panda3d/panda3d - Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
- amhndu/SimpleNES - An NES emulator in C++
- gameplay3d/gameplay - Open-source, cross-platform, C++ game engine for creating 2D/3D games.
- maximegmd/CyberEngineTweaks - Cyberpunk 2077 tweaks, hacks and scripting framework
- electronicarts/CnC_Generals_Zero_Hour - Command and Conquer: Generals - Zero Hour *(archived)*
- k4zmu2a/SpaceCadetPinball - Decompilation of 3D Pinball for Windows – Space Cadet
- ketoo/NoahGameFrame - A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
- nem0/LumixEngine - 3D C++ Game Engine - yet another open source game engine
- amzeratul/halley - A lightweight game engine written in modern C++
- AtomicGameEngine/AtomicGameEngine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript *(archived)*
- crawl/crawl - Dungeon Crawl: Stone Soup official repository
- scarsty/kys-cpp - 《金庸群侠传》c++复刻版,已完工
- guillaumeblanc/ozz-animation - Open source c++ skeletal animation library and toolset
- alexbatalov/fallout1-ce - Fallout for modern operating systems
- coronalabs/corona - Solar2D Game Engine main repository (ex Corona SDK)
- Hopson97/MineCraft-One-Week-Challenge - I challenged myself to see if I could create a voxel game (Minecraft-like) in just one week using C++ and OpenGL, and here is the result
- godotengine/godot-cpp - C++ bindings for the Godot script API
- yimengfan/BDFramework.Core - Simple and powerful Unity3d game workflow! 简单、高效、高度工业化的商业级unity3d 工作流。
- PanicPetal/ALS-Community - Replicated and optimized community version of Advanced Locomotion System V4 for Unreal Engine 5.4 with additional features & bug fixes
- teeworlds/teeworlds - A retro multiplayer shooter
- crownengine/crown - A complete and cross-platform game engine designed for flexibility, performance and fast iteration.
- alexbatalov/fallout2-ce - Fallout 2 for modern operating systems
- Cxbx-Reloaded/Cxbx-Reloaded-legacy - Xbox (Original) Emulator
- alecthomas/entityx - EntityX - A fast, type-safe C++ Entity-Component system
- tuyoogame/huatuo - huatuo是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。 Huatuo is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotfix
- JACoders/OpenJK - Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software
- plibither8/2048.cpp - 🎮 Fully featured terminal version of the game "2048" written in C++
- CytopiaTeam/Cytopia - :deciduous_tree::house_with_garden::office::evergreen_tree: A city building simulation game
- gosu/gosu - 2D game development library for Ruby and C++
- ezEngine/ezEngine - An open source C++ game engine.
- ErLinErYi/PlantsVsZombies - PlantsVsZombies game made by cocos2dx 3.16 (c++)
- EQMG/Acid - A high speed C++17 Vulkan game engine
- GameFoundry/B3DFramework - Modern C++ library for the development of real-time graphical applications
- cocos2d/cocos2d-js - cocos2d-x for JS
- otland/forgottenserver - A free and open-source MMORPG server emulator written in C++
- Cockatrice/Cockatrice - A cross-platform virtual tabletop for multiplayer card games
- dosbox-staging/dosbox-staging - DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices.
- electronicarts/CnC_Tiberian_Dawn - Command and Conquer Tiberian Dawn *(archived)*
- GValiente/butano - Modern C++ high level GBA engine
- DanielChappuis/reactphysics3d - Open source C++ physics engine library in 3D
- TriAxis-Games/RealtimeMeshComponent - Unreal Engine 5 plugin component for rendering runtime generated content.
- hugoam/two - c++ toolkit for rapid development of live graphical apps and games
- TeamHypersomnia/Hypersomnia - Multiplayer top-down shooter made from scratch in C++. Web version: https://play.hypersomnia.io Made in 🇵🇱
- Blizzard/s2client-api - StarCraft II Client - C++ library supported on Windows, Linux and Mac designed for building scripted bots and research using the SC2API.
- perilouswithadollarsign/cstrike15_src - Leak of CS:GO Source code, provided by yours truly so go rep me
- electronicarts/CnC_Renegade - Command and Conquer: Renegade *(archived)*
- jmorton06/Lumos - Cross-Platform C++ 2D/3D game engine
- hugoam/toy - the thin c++ game engine
- Sixze/ALS-Refactored - Completely reworked and improved C++ version of Advanced Locomotion System V4.
- ProjectBorealis/PBCharacterMovement - HL2-style, classic FPS movement for Unreal Engine implemented in C++
- chukong/quick-cocos2d-x - quick-cocos2d-x is a quick framework, based on cocos2d-x. Make mobile games in Lua.
- MihailRis/voxelcore - VoxelCore – voxel game engine in C++
- kripken/BananaBread - BananaBread is a C++ 3D game engine that runs on the web using JavaScript+WebGL+HTML
- mayerui/sudoku - C++实现的跨平台数独游戏,命令行操作易上手,可以在开发间隙用来放松身心。数百行代码,初学者也可以轻松掌握。
- binji/pokegb - A gameboy emulator that only plays Pokemon Blue, in ~50 lines of c++.
- nCine/nCine - A cross-platform 2D game engine
- SourMesen/Mesen - Mesen is a cross-platform (Windows & Linux) NES/Famicom emulator built in C++ and C# *(archived)*
- CE-Programming/CEmu - Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
- silence1772/GreedySnake - c++经典项目贪吃蛇游戏控制台版,详细注释
- colobot/colobot - Source code of open-source Colobot: Gold Edition project developed by Epsitec and TerranovaTeam
- ASC-Community/MxEngine - C++ open source 3D game engine
- Siv3D/OpenSiv3D - C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)
- gscept/nebula - Nebula is an open-source and free-to-use modern C++ game engine.
- cmangos/mangos-classic - C(ontinued)-MaNGOS (Classic fork) is about: -- Doing WoW-Emulation Right!
- elnormous/ouzel - C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
- Cxbx-Reloaded/Cxbx-Reloaded - Xbox (Original) Emulator
-
Graphics and Rendering
- openframeworks/openFrameworks - openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
- cinder/Cinder - Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
- patriciogonzalezvivo/glslViewer - Console-based GLSL Sandbox for 2D/3D shaders
- mosra/magnum - Lightweight and modular C++11 graphics middleware for games and data visualization
- OGRECave/ogre - high-performance rendering backend (C++, Python, C#, Java)
- MrNeRF/LichtFeld-Studio - Train, inspect, edit, automate, and export 3D Gaussian Splatting scenes from a single native application.
- KhronosGroup/Vulkan-Hpp - Open-Source Vulkan C++ API
- microsoft/DirectXShaderCompiler - This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.
- xelatihy/yocto-gl - Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics
-
Programming Languages
Categories
Other
770
Graphics and Media
153
Learning and Reference
116
User Interface
102
Utilities
89
Machine Learning and AI
75
Networking and Distributed
61
Language and Tooling
60
Science and Math
58
Concurrency and Performance
49
Data and Storage
41
Security
35
Web
28
Testing and Quality
9
Systems and Hardware
6
Sub Categories
Scientific Computing
803
Game Development
82
Applications and End User Tools
73
Tutorials and Books
65
Examples and Exercises
51
Graphics and Rendering
34
General Purpose Libraries
33
Networking
28
Machine Learning Frameworks
27
Concurrency and Parallelism
27
Compilers and Interpreters
26
Serialization and Formats
25
Mathematics
25
Performance and Optimization
22
Computer Vision
20
Audio
19
Image and Video
18
Text Processing
18
Distributed Systems
17
GUI Toolkits
17
RPC and Messaging
16
Security Tools
16
LLM and Inference
13
Command Line Tools
12
Web Frameworks
12
Editor and IDE Support
11
Debugging and Profiling
11
Logging and Configuration
10
Cryptography
10
Reverse Engineering
9
Testing
9
Web Servers and Proxies
9
Databases
8
Database Clients and ORMs
8
Automation and Scripting
8
Natural Language Processing
8
Files and Operating System
8
HTTP and Networking Clients
7
Data Science and Analytics
7
Linters and Formatters
6
Terminal and Console UI
6
Embedded and Firmware
6
Mobile
6
Build Systems
6
Keywords
cpp
256
c-plus-plus
210
linux
98
windows
93
python
68
cross-platform
64
cpp17
56
machine-learning
52
c
51
android
50
macos
48
deep-learning
46
cpp11
45
header-only
45
game-development
41
cplusplus
39
opengl
39
vulkan
38
game
37
qt
37
library
36
game-engine
35
computer-vision
31
audio
31
gamedev
30
gpu
30
cpp20
30
ios
28
robotics
27
database
27
cpp14
26
emulator
23
cuda
23
graphics
23
http
21
3d
21
lua
20
ai
19
arduino
19
rendering
19
compiler
18
nodejs
18
qt5
18
performance
18
gui
18
open-source
17
java
17
cmake
16
neural-network
16
pytorch
16