Skip to content

⭐ A choice list of the most practical and recognized C++ frameworks and libraries that are production ready

License

Notifications You must be signed in to change notification settings

szdytom/awesome-practical-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Practical C++

A choice list of the most practical and recognized C++ frameworks and libraries that are production ready...

Finding a suitable library from fffaraz/awesome-cpp can be maddening -- there are so many repositories listed, some of them have been abandoned for years, some of them are just toys instead, true treasure was buried in tons of other stuffs. In this repository, I'd like to list repository which:

  1. ...is a library/framework (not documentations, blogs, demo/example code, applications)
  2. ...is well recognized (2K stars at least)
  3. ...is still been maintained/developed (commited recently)
  4. ...is ready for use (not WIP)
  5. ...is wrote in C++ or has a friendly C++ API
  6. ...is open-source and hosted(at least mirrored) on GitHub.

Note: a few interesting and potential repositories that don't have 2K stars or still in active development is in the list with a 🚧 mark, still it's OK to use them in personal hobby projects.

Please feel free to open a PR and add things to the list!

Contents

CLI

Concurrency

  • David-Haim/concurrencpp 🚧 - Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all. stars license
  • max0x7ba/atomic_queue 🚧 - C++14 multiple-producer-multiple-consumer lock-free queues. stars license
  • netcan/asyncio 🚧 - A C++20 library to write concurrent code using the async/await syntax. stars license
  • taskflow/taskflow ⚡ - A general-purpose parallel and heterogeneous task programming system. stars license

Database

  • google/leveldb ⚡ - A fast key-value storage library that provides an ordered mapping from string keys to string values. stars license

Debugging

Embedded

Formatting

GPU

  • arrayfire/arrayfire - A general-purpose tensor library that simplifies the software development process for the parallel architectures found in CPUs, GPUs, and other hardware acceleration devices. stars license

GUI

  • GNOME/gtkmm - The official C++ interface for the popular GUI library GTK+. stars license
  • idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms. stars license
  • ocornut/imgui ⚡ - Bloat-free Graphical User interface for C++ with minimal dependencies. stars license

Game Utility

  • erincatto/Box2D - Box2D is a 2D physics engine for games. stars license
  • jrouwe/JoltPhysics - A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications. stars license
  • pocketpy/pocketpy 🚧 - A header-only Python interpreter for game scripting in Modern C++. stars license
  • raysan5/raylib ⚡ - A simple and easy-to-use library to enjoy videogames programming. stars license
  • skypjack/entt ⚡ - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more. stars license
  • ThePhD/sol2 - a C++ <-> Lua API wrapper with advanced features and top notch performance. stars license

Image Processing

  • davisking/dlib ⚡ - A toolkit for making real world machine learning and data analysis applications in C++. stars license
  • opencv/opencv ⚡ - Open Source Computer Vision Library. stars license
  • PointCloudLibrary/pcl - A standalone, large scale, open project for 2D/3D image and point cloud processing. stars license

Internationalization

  • unicode-org/icu - A set of C/C++ libraries providing Unicode and Globalization support. stars license

JSON

Logging

Machine Learning

  • davisking/dlib ⚡ - A toolkit for making real world machine learning and data analysis applications in C++. stars license
  • flashlight/flashlight - A C++ standalone library for machine learning. stars license
  • mlpack/mlpack - A fast, header-only C++ machine learning library. stars license
  • pytorch/pytorch ⚡ - The PyTorch C++ frontend is a pure C++ interface to the PyTorch machine learning framework. stars license

Math

  • arrayfire/arrayfire - A general-purpose tensor library that simplifies the software development process for the parallel architectures found in CPUs, GPUs, and other hardware acceleration devices. stars license
  • dpilger26/NumCpp - C++ implementation of the Python Numpy library . stars license
  • g-truc/glm ⚡ - OpenGL Mathematics. stars license

Multimedia

Networking

  • boostorg/asio - A cross-platform C++ library for network and low-level I/O programming. stars license
  • boostorg/beast - HTTP and WebSocket built on Boost.Asio in C++11. stars license
  • CrowCpp/Crow - A Fast and Easy to use microframework for the web. stars license
  • libcpr/cpr - C++ Requests: Curl for People, a spiritual port of Python Requests. stars license
  • netcan/asyncio 🚧 - A C++20 library to write concurrent code using the async/await syntax. stars license
  • pocoproject/poco - A Powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems. stars license
  • sogou/workflow ⚡ - C++ Parallel Computing and Asynchronous Networking Framework. stars license
  • uNetworking/uWebSockets ⚡ - Simple, secure & standards compliant web server for the most demanding of applications. stars license

Physics

  • erincatto/Box2D - Box2D is a 2D physics engine for games. stars license
  • jrouwe/JoltPhysics - A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications. stars license

Reflection

  • Neargye/magic_enum - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code. stars license

Rendering

  • bkaradzic/bgfx ⚡ - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. stars license
  • libsdl-org/SDL - Simple Directmedia Layer. stars license
  • raysan5/raylib ⚡ - A simple and easy-to-use library to enjoy videogames programming. stars license
  • SFML/SFML ⚡ - Simple and Fast Multimedia Library. stars license

Scripting

  • pocketpy/pocketpy 🚧 - A header-only Python interpreter for game scripting in Modern C++. stars license
  • ThePhD/sol2 - a C++ <-> Lua API wrapper with advanced features and top notch performance. stars license

Serialization

  • google/flatbuffers ⚡ - A cross platform serialization library architected for maximum memory efficiency. stars license
  • protocolbuffers/protobuf ⚡ - A language-neutral, platform-neutral, extensible mechanism for serializing structured data. stars license
  • USCiLab/cereal - A C++11 library for serialization. stars license

TUI

Unit Testing

  • catchorg/Catch2 ⚡ - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later. stars license

XML

Contributing

Please refer to CONTRIBUTING.md for more information.

About

⭐ A choice list of the most practical and recognized C++ frameworks and libraries that are production ready

Topics

Resources

License

Stars

Watchers

Forks

Languages