User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Feb. 26, 2021, 9:05 a.m.

Thank you fffaraz & contributors
View Topic on GitHub:
fffaraz/awesome-cpp

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Standard Libraries

A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.

A specification of a C standard library for POSIX systems.

The purpose of this manual is to tell you how to use the facilities of the GNU C Library.

Frameworks

Abseil Common Libraries (C++)

8.1K
1.5K
3d
Apache-2.0

Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.

1.19K
261
3d
Apache-2.0

C++ Programming Paradigm with Asynchronous Networking

2.74K
556
113d
Apache-2.0

A toolkit for making real world machine learning and data analysis applications in C++

9.91K
2.88K
6d
BSL-1.0

EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

5.33K
628
39d
BSD-3-Clause

Embedded Template Library

768
145
4d
MIT

Framework for Enterprise Application Development in c++, HTTP1/HTTP2/HTTP3 compliant, Supports multiple server backends

426
122
12d
n/a

An open-source C++ library developed and used at Facebook.

16.35K
3.83K
2d
Apache-2.0

Functional Programming Library for C++. Write concise and readable C++ code.

1.25K
120
12d
BSL-1.0

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.

2.68K
918
32d
n/a

Kigs framework is a C++ modular multipurpose cross platform framework.

46
13
3d
MIT

An eventing framework for building high performance and high scalability systems in C.

1.66K
381
1y 11m
Apache-2.0

C++14 evented IO libraries for high performance networking and media based applications

1.16K
328
1y 117d
LGPL-2.1

LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks

317
77
67d
n/a

openFrameworks is a community-developed cross platform toolkit for creative coding in C++.

8.22K
2.43K
3d
n/a

๐ŸŽ A glib-like multi-platform c library

3.54K
549
36d
Apache-2.0

Fast, orthogonal, open multi-methods. Supersedes yomm11.

169
8
26d
BSL-1.0

STDCXX, A collection of algorithms, containers, iterators, and other fundamental components. [retired] [Apache2]

APR

Apache Portable Runtime; another library of cross-platform utility functions. Apache 2.0

ASL

Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]

A community-developed, free and open source library for professional-quality creative coding. [BSD]

A small, header-only library that backports various facilities from more recent C++ Standards to C++03 and later. [MIT]

Library of utility functions and structures, designed to be portable, efficient and powerful. GNU LGPL2.1

A C++ library of designs, containing flexible implementations of common design patterns and idioms. [MIT]

Minimal headers-only C++ Library. [Boost]

Qt

zap: - A cross-platform application and UI framework. [GPL/LGPL/Commercial]

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]

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]

An exemplary version of STL. [Free]

Standard Template Library for Extra Large Data Sets. [Boost]

A C++ cross-platform rapid application development framework. [BSD]

The small STL library. [MIT]

A C++ library for developing Windows applications and UI components. [Public]

Artificial Intelligence

A GPU (CUDA) based Artificial Neural Network library

83
16
1y 7m
GPL-3.0

Behavior Tree Starter Kit

347
111
6y 8m
Zlib

Header-only library for using Keras models in C++.

704
160
3d
MIT

simple neural network library in ANSI C

1.09K
138
71d
Zlib

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

19.28K
6.8K
4d
Apache-2.0

Tensors and Dynamic neural networks in Python with strong GPU acceleration

46.37K
12.33K
3d
n/a

Navigation-mesh Toolset for Games

3.8K
1.04K
11d
Zlib

An Open Source Machine Learning Framework for Everyone

153.46K
84.06K
3d
Apache-2.0

oneAPI Deep Neural Network Library (oneDNN)

2.24K
593
28d
Apache-2.0

Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

16.97K
4.41K
11m
n/a

header only, dependency-free deep learning framework in C++14

5.3K
1.34K
2y 4m
n/a

Distributed machine learning platform

890
185
4y 34d
n/a

kaldi-asr/kaldi is the official location of the Kaldi project.

10.16K
4.44K
2d
n/a

A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast. [LGPL]

Asynchronous Event Loop

Asio C++ Library

2.4K
716
6m
n/a

An Open Source Implementation of the Actor Model in C++

2.46K
434
3d
BSD-3-Clause

Like libevent and libuv, libhv provides event-loop with non-blocking IO and timer, but simpler api and richer protocols.

1.84K
302
3d
BSD-3-Clause

Cross-platform asynchronous I/O

16.82K
2.7K
9m
n/a

C++ promise/A+ library in Javascript style.

287
50
1y 10m
n/a

Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!

1.21K
142
12d
MIT

A cross-platform C++ library for network and low-level I/O programming. [Boost]

A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs. [BSD and GPL]

Event loop replacement for network servers. 3-clause BSD

Audio

A simple C++ library for reading and writing audio files.

390
100
34d
GPL-3.0

A C library for reading and writing sound files containing sampled audio data..

698
196
5m
LGPL-2.1

C library for cross-platform real-time audio input and output

1.3K
160
7m
MIT

C++ Audio and Music DSP Library

1.13K
227
18d
n/a

Single file audio playback and capture library written in C.

1.41K
115
3d
n/a

SimplE Lossless Audio

199
22
10m
MIT

Free, easy, portable audio engine for games

1.03K
156
22d
n/a

Easy and efficient audio synthesis in C++

415
57
10m
Unlicense

Minimalistic MP3 decoder single header library

886
101
37d
CC0-1.0

๐ŸŽต Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)

369
118
2d
LGPL-3.0

Facebook AI Research's Automatic Speech Recognition Toolkit

5.65K
956
12d
n/a

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/Commercial]

LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]

Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]

A totally open, royalty-free, highly versatile audio codec. [BSD]

PortAudio is a free, cross-platform, open-source, audio I/O library. [MIT]

A free codec for free speech. Obsoleted by Opus. [BSD]

Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]

Biology

C++ library and cmdline tools for parsing and manipulating VCF files

412
190
9d
MIT

Structural variant detection and association testing

77
18
3y 10m
n/a

C++ Computational Libraries for Bioinformatics. [BSD]

An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]

A C++ library for representing and analyzing population genetics data. [GPL]

Algorithms and data structures for the analysis of sequences with the focus on biological data. [BSD/3-clause]

BitTorrent

BitTorrent DHT library

589
159
61d
MIT

an efficient feature complete C++ bittorrent implementation

3.07K
684
10d
n/a

libTorrent BitTorrent library

799
193
1y 70d
GPL-2.0

uTorrent Transport Protocol library

904
223
2y 9m
MIT

Chemistry

The d-SEAMS C++ core engine

15
1
8m
GPL-3.0

Public/backup repository of the GROMACS molecular simulation toolkit. Please do not mine the metadata blindly; we use https://gitlab.com/gromacs/gromacs for code review and issue tracking.

332
217
4d
n/a

a unified framework for modeling chemically reactive systems

69
30
3d
LGPL-2.1

Public development project of the LAMMPS MD software package

1K
1.09K
2d
GPL-2.0

CLI

Argh! A minimalist argument handler.

741
55
5m
n/a

A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).

830
107
29d
MIT

A simple to use, composable, command line parser for C++ 11 and beyond

636
65
1y 6m
BSL-1.0

A library for interactive command line interfaces in modern C++

512
47
30d
BSL-1.0

CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface.

1.48K
163
31d
n/a

Lightweight C++ command line option parser

2.4K
372
6d
MIT

C++11 port of docopt

872
115
8m
n/a

Activity Indicators for Modern C++

1.07K
79
7m
n/a

A small self-contained alternative to readline and libedit

2.66K
519
11m
BSD-2-Clause

A small self-contained alternative to readline and libedit that supports UTF-8 and Windows and is BSD licensed.

314
41
3y 8m
n/a

A simple to use, composable, command line parser for C++ 11 and beyond

235
27
61d
BSL-1.0

PDCurses - a curses library for environments that don't fit the termcap/terminfo model.

601
124
1y 68d
n/a

A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.

438
72
77d
n/a

Table Maker for Modern C++

849
52
39d
n/a

Library for writing text-based user interfaces

1.78K
147
6m
MIT

Small header only C++ library for writing multiplatform terminal applications

20
6
88d
n/a

C++ Functional Terminal User Interface.

326
28
65d
MIT

ImTui: Immediate Mode Text-based User Interface

1.12K
32
73d
MIT

A library to obtain program options via conventional methods such as command line and config file. [Boost]

Commandline flags module for C++. [BSD]

A terminal user interface. [MIT]

A mature, stable and feature-rich library for defining and accessing command line arguments in ANSI C++. [MIT]

Compression

A C++ static library offering a clean and simple interface to the 7-zip DLLs.

156
49
9m
GPL-2.0

Brotli compression format

9.74K
911
30d
MIT

New generation entropy codecs : Finite State Entropy and Huff0

943
100
78d
BSD-2-Clause

Multi-format archive and compression library

1.46K
491
10d
n/a

Extremely Fast Compression algorithm

5.87K
917
7d
n/a

LZFSE compression library and command line tool

1.58K
164
3y 9m
n/a

miniz: Single C source file zlib-replacement library, originally from code.google.com/p/miniz

1.09K
178
19d
n/a

Fork of the popular zip manipulation library found in the zlib distribution.

742
299
33d
n/a

Small strings compression library

878
111
9y 5d
BSD-3-Clause

zlib replacement with optimizations for "next generation" systems.

724
111
22d
Zlib

Zstandard - Fast real-time compression algorithm

13.98K
1.31K
2d
n/a

Patent free, high quality data compressor. 3-clause BSD

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]

Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]

zap: - The default and general compression method of 7z format. [PublicDomain]

An extremely fast real-time lossless data compression library. [GPL]

A fast compressor/decompressor. [BSD]

Massively-spiffy yet delicately-unobtrusive compression library. 3-clause BSD

Provides read access on ZIP-archives. [MPL/LGPL]

Concurrency

The project alpaka has moved to https://github.com/alpaka-group/alpaka

0
0
10m
n/a

ArrayFire: a general purpose GPU library.

3.32K
473
3d
n/a

Async++ concurrency framework for C++11

882
146
1y 26d
MIT

A C++ GPU Computing Library for OpenCL

1.19K
274
2y 11d
BSL-1.0

Bolt is a C++ template library optimized for GPUs. Bolt provides high-performance library implementations for common algorithms such as scan, reduce, transform, and sort.

343
60
6y 81d
n/a

Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.

1.84K
245
66d
n/a

A fast multi-producer, multi-consumer lock-free concurrent queue for C++11

5.31K
1.11K
79d
n/a

A General-purpose Parallel and Heterogeneous Task Programming System

4.97K
564
27d
n/a

THIS REPOSITORY HAS MOVED TO github.com/nvidia/cub, WHICH IS AUTOMATICALLY MIRRORED HERE.

15
16
3d
BSD-3-Clause

Thin C++-flavored wrappers for the CUDA Runtime API

322
39
95d
BSD-3-Clause

The project alpaka has moved to https://github.com/alpaka-group/cupla

1
0
10m
n/a

C++React: A reactive programming library for C++11.

896
119
3y 117d
BSL-1.0

A library for enabling task-based multi-threading. It allows execution of task graphs with arbitrary dependencies.

676
68
27d
n/a

The C++ Standard Library for Parallelism and Concurrency

1.5K
290
5m
BSL-1.0

A task scheduling framework designed for the needs of game developers.

319
24
3d
MIT
538
53
6m
n/a

Concurrent data structures in C++

1.12K
128
3y 9d
n/a

Kokkos C++ Performance Portability Programming EcoSystem: The Programming Model - Parallel Execution and Memory Abstraction

730
225
50d
n/a

A C++ library of Concurrent Data Structures

1.78K
295
6m
BSL-1.0

OpenCL based GPU accelerated SPH fluid simulation library

39
8
5y 5m
MIT

Structured concurrency in C

1.32K
123
1y 4m
MIT

The libdispatch Project, (a.k.a. Grand Central Dispatch), for concurrency on multicore hardware

1.99K
366
38d
Apache-2.0

Go-style concurrency in C

2.41K
184
3y 5m
MIT

A hybrid thread / fiber task scheduler written in C++ 11

1.06K
85
8d
n/a

Patterns and behaviors for GPU computing

1.17K
234
1y 30d
n/a

Optimized primitives for collective multi-GPU communication

1.45K
384
17d
n/a

An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.

168
12
3d
n/a

Powerful multi-threaded coroutine dispatcher and parallel execution engine

287
52
15d
Apache-2.0

A fast single-producer, single-consumer lock-free queue for C++

2.02K
450
92d
n/a

stdgpu: Efficient STL-like Data Structures on the GPU

525
19
29d
Apache-2.0

A header-only C++ library for task concurrency

452
29
4m
MIT

VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP

621
79
95d
MIT

Tasks, executors, timers and C++20 coroutines to rule them all

168
15
61d
MIT

Intelยฎ Threading Building Blocks. [Apache2]

The open standard for parallel programming of heterogeneous systems.

The OpenMP API.

The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators [Apache2]

A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]

Configuration

Simple .INI file parser in C, good for embedded systems

1.38K
326
3d
n/a

This is a header only C++ version of inih.

293
74
1y 4m
n/a

ini file parser

671
354
1y 8m
MIT

C/C++ library for processing configuration files

737
282
106d
LGPL-2.1

Small configuration file parser library for C.

348
84
53d
ISC

Cross-platform C++ library providing a simple API to read and write INI-style configuration files

528
192
8m
MIT

Header-only TOML config file parser and serializer for C++17 (and later!).

388
35
24d
MIT

Containers

An unordered C++ data container providing fast iteration/insertion/erasure while maintaining pointer/iterator validity to non-erased elements regardless of insertions/erasures. Provides higher-performance than std:: library containers for high-modification scenarios with unordered data.

262
19
42d
Zlib

Simple Useful Libraries: The C++17 header-only dynamic bitset

59
5
76d
MIT

Template Library of Tree Data Structures in C++17

149
34
18d
MIT

Various open addressing hashmap algorithms in C++

216
79
5y 84d
MIT

C++ implementation of a fast hash map and hash set using hopscotch hashing

452
42
110d
MIT

A c++ toolbox of locality-sensitive hashing (LSH), provides several popular LSH algorithms, also support python and matlab.

243
74
3y 8m
GPL-3.0

๐Ÿ…State-of-the-art learned data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes

487
36
17d
Apache-2.0

A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.

99
10
45d
Zlib

A C++ data container replicating std::stack functionality but with better performance than standard library containers in a stack context.

37
3
45d
Zlib

ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library

86
8
60d
BSL-1.0

Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20

639
67
52d
MIT

C++ implementation of a fast hash map and hash set using robin hood hashing

491
51
13d
MIT

A fast, memory efficient hash map for C++

1.01K
111
49d
n/a

A template library that implements ordered in-memory containers based on a B-tree data structure. [Apache2]

Cryptography

free C++ class library of cryptographic schemes

2.67K
817
4d
n/a

C++11 header-only message digest library

115
22
5m
Unlicense

A modern, portable, easy to use crypto library.

9.07K
1.41K
6d
n/a

A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

242
24
57d
n/a

LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.

1.07K
344
38d
Unlicense

An open source, portable, easy to use, readable and flexible SSL library

2.83K
1.63K
2d
Apache-2.0

TLS/SSL and crypto library

14.85K
6.62K
10d
Apache-2.0

A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography & security. (project was renamed, libchaos is main)

55
20
3y 11m
n/a

s2n : an implementation of the TLS/SSL protocols

3.91K
547
2d
Apache-2.0

Library and command line tool to detect SHA-1 collision in a file

1.11K
147
79d
n/a

Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

11.07K
912
9d
Apache-2.0

Small portable AES128/192/256 in C

2.43K
920
10d
Unlicense

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

1.22K
100
3d
Apache-2.0

A cross platform file encryption utility. Encrypted files are portable across all supported operating systems and processors. [BSD]

A portable and fast cryptography library. [LGPLv2.1+]

A crypto library for C++. [BSD-2]

A complete and free implementation of the OpenPGP standard. [GPL]

A secure communications library implementing the SSL, TLS and DTLS protocols. [LGPL2.1]

A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]

A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]

A low-level cryptographic library. [LGPL]

CSV

Fast CSV parser and writer for Modern C++

153
22
7m
MIT

Compile-time CSV parser in C++17

1
0
8d
Zlib

fast-cpp-csv-parser

1.2K
296
54d
BSD-3-Clause

A modern C++ library for reading, writing, and analyzing CSV (and similar) files.

353
60
45d
MIT

Database

C++ ORM for SQLite

571
104
2y 8m
BSD-3-Clause

Minimalistic C client for Redis >= 1.2

4.76K
1.54K
9d
BSD-3-Clause

LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

23.06K
5.33K
3d
BSD-3-Clause

C++11 wrapper for the LMDB embedded B+ tree database library.

223
74
4y 12m
Unlicense

A high-performance MongoDB driver for C

637
376
4d
Apache-2.0

C++ Driver for MongoDB

785
468
7d
Apache-2.0

ARCHIVED - libbson has moved to https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson

329
185
3y 69d
Apache-2.0

A small C++ wrapper for the native C ODBC API | Requires C++14 since v2.12

174
44
20d
MIT

A C++ Redis client

172
75
1y 9m
Apache-2.0

A library that provides an embeddable, persistent key-value store for fast storage.

18.85K
4.27K
2d
n/a

A high performance, shared memory, lock free, cross platform, single file, no dependencies, C++11 key-value store

391
52
2y 10m
Apache-2.0

Official repository of the SOCI - The C++ Database Access Library

958
366
3d
BSL-1.0

SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.

1.1K
322
39d
MIT

The C++14 wrapper around sqlite library

581
117
101d
MIT

โค๏ธ SQLite ORM light header only library for modern C++

1.1K
167
10d
BSD-3-Clause

A type safe SQL template library for C++

1.71K
263
5m
BSD-2-Clause

The Universal Storage Engine

1.05K
111
6d
MIT

An Embedded NoSQL, Transactional Database Engine

1.28K
119
7m
n/a

Very fast embedded key/value store with full ACID semantics. [OpenLDAP]

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]

A completely embedded, full-featured relational database in a few 100k that you can include right into your project. [PublicDomain]

An embedded "typed" key/value store with a built-in query interface. [GPLv3]

Debug

A beautiful stack trace pretty printer for C++

1.86K
263
42d
MIT

A microbenchmark support library

5.15K
984
4d
Apache-2.0

A unit testing framework for C

703
150
29d
LGPL-2.1

The fastest feature-rich C++11/14/17/20 single-header testing framework

3.08K
333
24d
MIT

A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)

12.78K
2.16K
5d
BSL-1.0

A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)

12.78K
2.16K
5d
BSL-1.0

C++ Benchmark Authoring Library/Framework

583
76
2d
n/a

CppUTest unit testing and mocking framework for C/C++

882
389
11d
BSD-3-Clause

A dbg(โ€ฆ) macro for C++

1.54K
104
57d
MIT

A testing micro framework for creating function test doubles

392
97
1y 6m
n/a

Googletest - Google Testing and Mocking Framework

20.66K
7.22K
7d
BSD-3-Clause

Debug heap useful for tracking down memory errors.

146
15
5y 111d
n/a

Write tests in C

206
45
4m
LGPL-3.0

microprofile is an embeddable profiler

975
87
1y 69d
n/a

Minimal unit testing framework for C

351
73
6m
MIT

A simple C++ 03/11/etc timer class for ~microsecond-precision cross-platform benchmarking. The implementation is as limited and as simple as possible to create the lowest amount of overhead.

55
4
45d
Zlib

A C++ micro-benchmarking framework

301
47
1y 5m
n/a

Single C file, Realtime CPU/GPU Profiler with Remote Web Viewer

1.67K
183
3d
Apache-2.0

A lightweight unit testing framework for C++

452
166
105d
MIT

Simple Unit Testing for C

1.89K
559
14d
MIT

๐Ÿงช single header unit testing framework for C and C++

309
20
24d
Unlicense

UT: C++20 ฮผ(micro)/Unit Testing Framework

490
40
10d
BSL-1.0

C++ Unit Testing Easier. [LGPL3]

Unit testing framework with support for mock objects. Apache 2.0

The CMake test driver program. [BSD]

A tool for resource leak detection, including memory, GDI and handle leaks.

Tracking memory allocations in C++.

Eclipse CDT plug-in for C++ Seams and Mock Objects.

VLD

Visual Leak Detector. A free, robust, open-source memory leak detection system for Visual C++.

Font

Optimized OpenType builder and inspector.

347
49
8m
Apache-2.0

Font configuration and customization library. [MIT] website

FreeType is a freely available software library to render fonts. [FTL & GPLv2]

Game Engine

A high speed C++17 Vulkan game engine

799
86
90d
MIT

Pure C Game Engine

1.27K
160
4m
n/a

The flexible game engine.

1.31K
104
5d
MIT

Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

4.87K
437
12d
MIT

Open-source, cross-platform, C++ game engine for creating 2D/3D games.

3.11K
1.2K
4y 11m
n/a

Godot Engine โ€“ Multi-platform 2D and 3D game engine

36.78K
6.92K
2d
n/a

Grit Game Engine

95
21
2y 9m
MIT

A lightweight game engine written in modern C++

2.63K
118
3d
Apache-2.0

KlayGE is a cross-platform open source game engine with plugin-based architecture.

1.5K
287
2d
GPL-2.0

A cross-platform 2D game engine

294
32
4m
MIT

Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

1.48K
315
3d
n/a

Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

2.63K
606
3d
n/a

The official distribution of olcPixelGameEngine, a tool used in javidx9's YouTube videos and projects

2.03K
580
7d
n/a

Polycode is a cross-platform framework for creative code.

2.36K
342
5y 5m
MIT

A simple and easy-to-use library to enjoy videogames programming

5.8K
659
2d
Zlib

A powerful free cross-platform RTS game engine

2.07K
680
46d
n/a

MIT Licensed Open Source version of Torque 2D game engine from GarageGames

1.63K
1.65K
9m
MIT

MIT Licensed Open Source version of Torque 3D from GarageGames

3.24K
1.23K
10m
MIT

the thin c++ game engine

1.36K
92
1y 68d
GPL-3.0

A cross-platform library mainly aimed for video games and multimedia programming. [zlib]

A multi-platform framework for building 2d games, interactive books, demos and other graphical applications. [MIT]

A robust simulation platform. [LGPL2]

A cross-platform 2D C++ game engine. [MIT]

A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]

GUI

Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

1.39K
81
1y 52d
n/a

Elements C++ GUI library

1.64K
116
12d
n/a

GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.

1.92K
272
8d
n/a

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

27.82K
4.61K
4d
MIT

Advanced 2D Plotting for Dear ImGui

1.26K
98
26d
MIT

Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

9.82K
584
55d
n/a

Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL

503
69
4m
n/a

A single-header ANSI C immediate mode cross-platform GUI library

3.61K
210
59d
n/a

RmlUi - The HTML/CSS User Interface library evolved

485
58
16d
MIT

A library for creating native cross-platform GUI apps

2.5K
117
6d
n/a

Flexible, cross-platform GUI library.

Fast, light, cross-platform C++ GUI toolkit. [GPL2]

A multi-platform toolkit for creating graphical user interfaces. [LGPL]

The official C++ interface for the popular GUI library GTK+. [LGPL]

iup

Multi-platform toolkit for building graphical user interfaces. [MIT]

Fast, flexible and simple GUI. [MIT]

Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]

Qt plotting widget without further dependencies. [GPLv3]

Qwt

Qt Widgets for Technical Applications. [Own based on LGPL]

A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]

Sciter is an embeddable HTML/CSS/scripting engine aimed to be used as an UI layer of modern desktop applications. [Free/Commercial]

A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. [Own LGPL]

Graphics

The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

6.31K
1.89K
3d
n/a

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

8.99K
1.39K
2d
BSD-2-Clause

2D Vector Graphics Engine Powered by a JIT Compiler

840
48
19d
Zlib

Modern C++14 library for the development of real-time graphical applications

1.59K
189
1y 4m
MIT

Port of Python's Turtle to C++

6
2
95d
n/a

A modern cross-platform low-level graphics library and rendering framework

1.67K
174
9d
Apache-2.0

The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

1.72K
393
2d
MIT

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

7.3K
2.68K
9d
Zlib

A basic 3D scene implemented with various engines, frameworks or APIs.

1.55K
68
6m
MIT

Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.

1.03K
273
18d
n/a

Ion

1.39K
90
2y 10m
Apache-2.0

Simple C++ geometry processing library.

2.8K
827
3d
n/a

Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

977
64
22d
n/a

Lightweight and modular C++11 graphics middleware for games and data visualization

3.38K
346
6d
n/a

Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

3.86K
628
63d
Zlib

An Open-Source subdivision surface library.

2.44K
474
20d
Apache-2.0

C++ (with python bindings) library for easily reading/writing/manipulating common animation particle formats such as PDB, BGEO, PTC. See the discussion group @ http://groups.google.com/group/partio-discuss

353
120
36d
n/a

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

4.76K
930
2d
n/a

ANSI C library for NURBS, B-Splines, and Bรฉzier curves with interfaces for C++, C#, D, Go, Java, Lua, Octave, PHP, Python, R, and Ruby.

613
125
16d
MIT

Cross-platform 2D and 3D game engine.

3.47K
883
2d
MIT

Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics

1.37K
126
56d
n/a

A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]

A high performance realtime 3D engine written in C++. [zlib]

zap: - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT]

An open source high performance 3D graphics toolkit. [OSGPL]

Library and tools for storing, editing, and rendering volumetric datasets. [MPL2]

A framework for 3D rendering and game development for Python and C++. [BSD]

Image Processing

A toolkit for making real world machine learning and data analysis applications in C++

9.91K
2.88K
6d
BSL-1.0

GD Graphics Library

590
204
5d
n/a

Leptonica is an open source library containing software that is broadly useful for image processing and image analysis applications. The official github repository for Leptonica is: danbloomberg/leptonica. See leptonica.org for more documentation and recent releases.

992
283
4d
n/a

An open source library for face detection in images. The face detection speed can reach 1000FPS.

10.14K
2.79K
63d
n/a

Main libjpeg-turbo repository

2.36K
648
36d
n/a

A fast image processing library with low memory needs.

5.16K
412
4d
LGPL-2.1

Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.

1.21K
433
2d
BSD-3-Clause

C++ image processing and machine learning 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.

1.25K
297
2d
MIT

stb single-file public domain libraries for C/C++

14.89K
5.1K
7m
n/a

Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG.

49
15
22d
n/a

Video++, a C++14 high performance video and image processing library.

653
98
2y 20d
MIT

a generic C++ library for image analysis

348
166
5m
n/a

A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]

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]

An open source library that supports popular graphics image formats and others as needed by today's multimedia applications. [GPL2 or GPL3]

ITK

An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]

ImageMagick program interfaces for C++. [Apache2]

zap: - Open source computer vision. [BSD]

Cross-platform library for high dynamic range imaging. [Modified BSDF]

VTK

Open-source, freely available software system for 3D computer graphics, image processing and visualization. [BSD]

Internationalization

๐Ÿ“š single header utf8 string functions for C and C++

857
71
7d
Unlicense

a clean C library for processing UTF-8 Unicode data

618
101
22d
n/a

ICU

International Components for Unicode; a library for Unicode support. ICU license

An encoding conversion library between different character encodings. [GPL]

Inter-process communication

Cap'n Proto serialization/RPC system - core tools and C++ library

8.08K
669
7d
n/a

eCAL - enhanced Communication Abstraction Layer

281
48
3d
Apache-2.0

The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)

29.42K
7.53K
3d
Apache-2.0

Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more.

1.67K
534
15d
n/a

C++ framework for json-rpc (json remote procedure call)

647
257
1y 45d
MIT

nanomsg library

5.14K
877
11m
n/a

nanomsg-next-generation -- light-weight brokerless messaging

2.14K
275
9d
MIT

rpclib is a modern C++ msgpack-RPC server and client library

984
234
3y 4m
n/a

a simple RPC wrapper generator to C/C++ functions

23
7
5y 6m
n/a

Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]

Provides RPC and pub/sub messaging patterns. (various implementations, various languages)

A lightweight RPC library based on XML and HTTP. [BSD]

JSON

Ultralightweight JSON parser in ANSI C

5.51K