Fundamentals 40 min read

Curated List of C++ Frameworks, Libraries, and Resources

This curated collection, maintained by fffaraz, enumerates a comprehensive range of C++ frameworks, libraries, and resources—including the standard library, web and GUI frameworks, AI, networking, graphics, audio, databases, cryptography, machine learning, concurrency, serialization, build tools, IDEs, and debugging utilities—for developers seeking ready‑made solutions.

Baidu Tech Salon
Baidu Tech Salon
Baidu Tech Salon
Curated List of C++ Frameworks, Libraries, and Resources

This document provides a curated list of C++ frameworks, libraries, and resources compiled and maintained by fffaraz.

The collection includes standard libraries, web application frameworks, artificial‑intelligence tools, databases, image‑processing libraries, machine‑learning libraries, logging utilities, code‑analysis tools, and many other categories.

Standard Library

The C++ standard library, which includes STL containers, algorithms, and functions.

C++ Standard Library – a collection of classes and functions that are part of the ISO C++ standard.

Standard Template Library – the STL.

C POSIX library – the C standard library specification for POSIX systems.

ISO C++ Standards Committee – the C++ standards committee.

Frameworks

General‑purpose C++ frameworks and libraries.

Apache C++ Standard Library – a collection of algorithms, containers, iterators and other basic components.

ASL – Adobe Source Library, providing peer‑reviewed portable C++ source code.

Boost – a large collection of general‑purpose C++ libraries.

BDE – Bloomberg Development Environment.

Cinder – an open‑source community for creative coding.

Cxxomfort – a lightweight header‑only library that back‑ports some C++11 features to C++03.

Dlib – a cross‑platform C++ library designed using contract‑based programming and modern C++ techniques.

EASTL – EA‑STL public portion.

ffead‑cpp – an enterprise application development framework.

Folly – an open‑source C++ library developed and used by Facebook.

JUCE – a comprehensive C++ class library for cross‑platform software development.

libPhenom – an event framework for building high‑performance, highly scalable systems.

LibSourcey – a C++11 evented I/O library for real‑time video streaming and high‑performance network applications.

LibU – a multi‑platform utility library written in C.

Loki – a C++ library implementing common design patterns and idioms.

MiLi – a small header‑only C++ library.

openFrameworks – a C++ toolkit for creative coding.

Qt – a cross‑platform application and UI framework.

Reason – a cross‑platform framework that makes it easier to use Java, .NET and Python while retaining C++ performance.

ROOT – a comprehensive object‑oriented framework for efficient data processing and analysis, used by CERN.

STLport – a representative implementation of the STL.

STXXL – an STL for extra‑large data sets.

Ultimate++ – a fast C++ cross‑platform application development framework.

Windows Template Library – a C++ library for developing Windows applications and UI components.

Yomm11 – open multi‑methods for C++11.

Artificial Intelligence

btsk – a game behavior‑tree starter tool.

Evolving Objects – a template‑based ANSI C++ evolutionary computation library for rapid development of stochastic optimization algorithms.

Neu – a C++11 framework and language set for building multi‑purpose AI applications.

Asynchronous Event Loops

Boost.Asio – a cross‑platform C++ library for network and low‑level I/O programming.

libev – a full‑featured, high‑performance event loop, a lightweight alternative to libevent.

libevent – an event notification library.

libuv – a cross‑platform asynchronous I/O library.

Audio

Audio, sound, music and digital audio libraries.

FMOD – an easy‑to‑use cross‑platform audio engine and game audio creation tool.

Maximilian – a C++ audio and music digital signal processing library.

OpenAL – an open‑source cross‑platform audio API.

Opus – a royalty‑free, highly versatile audio codec.

Speex – a free codec now superseded by Opus.

Tonic – an easy‑to‑use, high‑performance C++ audio synthesis library.

Vorbis – an open, royalty‑free general‑purpose compressed audio format (Ogg Vorbis).

Ecology

Bioinformatics, genomics and biotechnology.

libsequence – a C++ library for representing and analyzing population genetics data.

SeqAn – algorithms and data structures focused on biological sequence analysis.

Vcflib – a C++ library for parsing and processing VCF files.

Wham – a tool for applying association tests to BAM files for structural variant discovery.

Compression

Compression and archiving libraries.

bzip2 – a free, high‑quality data compression library.

doboz – a fast decompression library.

PhysicsFS – a library providing abstract access to various archive formats, originally inspired by Quake 3's file subsystem.

KArchive – a library for creating, reading and manipulating archive files (e.g., zip, tar) using Qt I/O classes.

LZ4 – a very fast compression algorithm.

LZHAM – a lossless compression library with a ratio close to LZMA but much faster decompression.

LZMA – the default compression method for the 7z format.

LZMAT – a fast real‑time lossless data compression library.

miniz – a single‑file C source compression library with a zlib‑compatible API.

Minizip – a zlib‑based zip library with PKWARE spanning, AES encryption and I/O buffering.

Snappy – a fast compression/decompression library.

ZLib – a highly compact data‑stream compression library.

ZZIPlib – a library providing read access to ZIP archives.

Concurrency

Concurrent execution and multithreading.

Boost.Compute – a C++ GPU computing library for OpenCL.

Bolt – a C++ template library optimized for GPUs.

C++React – a reactive programming library for C++11.

Intel TBB – Intel Threading Building Blocks.

Libclsph – a GPU‑accelerated SPH fluid simulation library based on OpenCL.

OpenCL – an open standard for heterogeneous parallel programming.

OpenMP – the OpenMP API for shared‑memory parallelism.

Thrust – a parallel algorithms library resembling the C++ STL.

HPX – a general‑purpose C++ runtime system for parallel and distributed applications of any scale.

VexCL – a C++ vector expression template library for OpenCL/CUDA.

Containers

C++ B‑tree – a template library implementing B‑tree based containers.

Hashmaps – an implementation of open‑addressing hash tables in C++.

Cryptography

Bcrypt – a cross‑platform file encryption tool.

BeeCrypt – (no description provided).

Botan – a C++ cryptography library.

Crypto++ – a free C++ library of cryptographic schemes.

GnuPG – a complete implementation of the OpenPGP standard.

GnuTLS – a security library implementing SSL, TLS and DTLS.

Libgcrypt – (no description provided).

libmcrypt – (no description provided).

LibreSSL – a free SSL/TLS implementation, a fork of OpenSSL.

LibTomCrypt – a comprehensive, modular, portable cryptographic toolkit.

libsodium – a user‑friendly crypto library based on NaCl.

Nettle – a low‑level cryptographic library.

OpenSSL – a powerful, full‑featured open‑source cryptographic library.

Tiny AES128 in C – a small, portable C implementation of AES‑128.

Database

Database, SQL servers, ODBC drivers and tools.

hiberlite – a C++ object‑relational mapper for SQLite3.

Hiredis – a minimalistic C client library for Redis.

LevelDB – a fast key‑value store.

LMDB – an embedded key‑value store that satisfies the four basic elements of a database.

MySQL++ – a C++ wrapper for the MySQL C API.

RocksDB – a fast embedded key‑value store from Facebook.

SQLite – a fully embedded, feature‑complete relational database that fits in a few hundred kilobytes.

Debugging

Debugging libraries, memory/resource leak detection, unit testing.

Boost.Test – the Boost testing framework.

Catch – a modern, header‑only C++ testing framework supporting unit, TDD and BDD.

CppUnit – a C++ port of JUnit.

CTest – the CMake test driver.

googletest – Google’s C++ testing framework.

ig-debugheap – a multi‑platform debugging heap for tracking memory errors.

libtap – a C library for writing TAP tests.

MemTrack – a C++ memory‑allocation tracking tool.

microprofile – a cross‑platform network profiling tool.

minUnit – a tiny C unit‑testing framework using only two macros.

Remotery – a single‑file C profiler for web view integration.

UnitTest++ – a lightweight C++ unit‑testing framework.

Game Engines

Cocos2d‑x – a cross‑platform framework for building 2D games, interactive books, demos and other graphics applications.

Grit – a community project for a free 3D open‑world game engine.

Irrlicht – an open‑source high‑performance real‑time 3D engine written in C++.

Polycode – an open‑source C++ framework for creating games (with Lua bindings).

Graphical User Interface

CEGUI – a flexible cross‑platform GUI library.

FLTK – a fast, lightweight cross‑platform C++ GUI toolkit.

GTK+ – a cross‑platform toolkit for creating graphical user interfaces.

gtkmm – the official C++ interface for the popular GTK+ GUI library.

imgui – an immediate‑mode GUI with minimal dependencies.

libRocket – a C++ HTML/CSS game interface middleware.

MyGUI – a fast, flexible, simple GUI.

Ncurses – a terminal user‑interface library.

QCustomPlot – a Qt plotting widget with no external dependencies.

Qwt – a set of Qt widgets for technical applications.

QwtPlot3D – a feature‑rich C++ library based on Qt/OpenGL providing 3D widgets.

OtterUI – a UI development solution for embedded systems and interactive entertainment.

PDCurses – a public domain graphics function library with source and pre‑compiled binaries.

wxWidgets – a C++ library allowing developers to create applications for Windows, macOS, Linux and other platforms from a single code base.

Graphics

bgfx – a cross‑platform rendering library.

Cairo – a 2D graphics library supporting multiple output devices.

Horde3D – a small 3D rendering and animation engine.

magnum – a C++11 and OpenGL 2D/3D graphics engine.

Ogre 3D – a C++ scene‑oriented, real‑time, flexible 3D rendering engine (not a game engine).

OpenSceneGraph – a high‑performance open‑source 3D graphics toolkit.

Panda3D – a framework for 3D rendering and game development written in Python and C++.

Skia – a complete 2D graphics library for drawing text, graphics and images.

urho3d – a cross‑platform rendering and game engine.

Image Processing

Boost.GIL – a generic image library.

CImg – a small open‑source C++ toolkit for image processing.

CxImage – an image loading/saving/displaying/conversion library supporting many formats (BMP, JPEG, GIF, PNG, TIFF, …).

FreeImage – an open‑source library supporting common image formats.

GDCM – Grassroots DICOM library.

ITK – a cross‑platform open‑source image analysis system.

Magick++ – C++ interface to ImageMagick.

MagickWnd – another C++ interface to ImageMagick.

OpenCV – an open‑source computer‑vision library.

tesseract‑ocr – an OCR engine.

VIGRA – a generic C++ computer‑vision library for image analysis.

VTK – an open‑source software system for 3D computer graphics, image processing and visualization.

Internationalization

gettext – GNU gettext.

IBM ICU – a C/C++/Java library providing Unicode and globalization support.

libiconv – a library for converting between different character encodings.

JSON

frozen – a C/C++ JSON parser/generator.

Jansson – a C library for encoding, decoding and manipulating JSON data.

jbson – a C++14 library for building and iterating BSON data and JSON documents.

JeayeSON – a robust header‑only C++ JSON library.

JSON++ – a C++ JSON parser.

json‑parser – a portable ANSI C JSON parser with minimal memory footprint.

json11 – a tiny C++11 JSON library.

jute – a very simple C++ JSON parser.

ibjson – a C library for JSON parsing and printing.

libjson – a lightweight JSON library.

PicoJSON – a header‑only JSON parser/serializer for C++.

qt‑json – a simple class for converting between JSON data and QVariant hierarchies.

QJson – a Qt‑based library mapping JSON data to QVariant objects.

RapidJSON – a fast C++ JSON parser/generator supporting both SAX and DOM styles.

YAJL – a fast streaming JSON parser in C.

Logging

Boost.Log – a highly modular and extensible logging library.

easyloggingpp – a single‑header C++ logging library.

Log4cpp – a collection of C++ classes for flexible logging to files, syslog, etc.

templog – a lightweight C++ logging library.

Machine Learning

Caffe – a fast neural‑network framework.

CCV – a modern computer‑vision library written in C.

mlpack – a scalable C++ machine‑learning library.

OpenCV – an open‑source computer‑vision library.

Recommender – a C library for product recommendation using collaborative filtering.

SHOGUN – the Shogun machine‑learning toolbox.

sofia‑ml – a fast incremental algorithm suite for machine learning.

Mathematics

Armadillo – a high‑quality C++ linear‑algebra library with MATLAB‑like syntax.

blaze – a high‑performance C++ math library for dense and sparse arithmetic.

ceres‑solver – a Google‑originated C++ library for modeling and solving large, complex non‑linear least‑squares problems.

CGal – a collection of efficient, reliable set‑algorithm implementations.

cml – a free C++ math library for games and graphics.

Eigen – a high‑level C++ template library for linear algebra, matrices, vectors, numerical solvers, and related algorithms.

GMTL – a graphics math template library providing a wide range of basic graphics tools.

GMP – a C/C++ library for arbitrary‑precision arithmetic on signed integers, rational numbers and floating‑point numbers.

Multimedia

GStreamer – a library for building media‑processing pipelines.

LIVE555 Streaming Media – a multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP).

libVLC – the VLC SDK media framework.

QtAv – a multimedia playback framework based on Qt and FFmpeg.

SDL – a simple direct‑control media layer.

SFML – a fast, simple multimedia library.

Networking

ACE – a C++ object‑oriented network programming toolkit.

Boost.Asio – a cross‑platform C++ library for network and low‑level I/O programming.

Casablanca – the C++ REST SDK.

cpp‑netlib – a collection of open‑source libraries for advanced network programming.

Dyad.c – an asynchronous networking library in C.

libcurl – a multi‑protocol file‑transfer library.

Mongoose – a very lightweight network server.

Muduo – a non‑blocking C++ network library for Linux multithreaded servers.

net_skeleton – a C/C++ TCP client/server library.

nope.c – an ultra‑lightweight C networking platform (similar in spirit to node.js).

Onion – a lightweight C HTTP server library.

POCO – a C++ class library for building network‑ and internet‑based applications.

RakNet – an open‑source C++ network engine for game development.

Tuf o – an asynchronous web framework built on top of Qt.

WebSocket++ – a C++/Boost‑based WebSocket client/server library.

ZeroMQ – a high‑performance, modular asynchronous messaging library.

Physics

Dynamics simulation engines.

Box2D – a 2D game physics engine.

Bullet – a 3D game physics engine.

Chipmunk – a fast, lightweight 2D game physics library.

LiquidFun – a 2D game physics engine.

ODE – an open dynamics engine – an open‑source, high‑performance library for simulating rigid body dynamics.

ofxBox2d – a wrapper for the Box2D open‑source framework.

Simbody – a high‑performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems such as vehicles, robots and human skeletons.

Robotics

MOOS‑IvP – a set of open‑source C++ modules providing autonomy for robotic platforms, especially marine vehicles.

MRPT – a mobile robot programming toolkit.

PCL – the Point Cloud Library, a large open project for 2D/3D image and point‑cloud processing.

Robotics Library (RL) – an independent C++ library covering robot dynamics, motion planning and control.

RobWork – a collection of C++ libraries for robot simulation and control.

ROS – the Robot Operating System, providing libraries and tools to help software developers create robot applications.

Scientific Computing

FFTW – a C library for computing the discrete Fourier transform in one or multiple dimensions.

GSL – the GNU Scientific Library.

Scripting

ChaiScript – an easy‑to‑use embedded scripting language for C++.

Lua – a small, fast scripting engine for configuration files and basic application scripts.

luacxx – a C++11 API for creating Lua bindings.

SWIG – a wrapper/interface generator that lets your C++ code link to JavaScript, Perl, PHP, Python, Tcl and Ruby.

V7 – an embedded JavaScript engine.

V8 – Google’s fast JavaScript engine that can be embedded in any C++ application.

Serialization

Cap’n Proto – a fast data‑exchange format and RPC system.

cereal – a C++11 serialization library.

FlatBuffers – a memory‑efficient serialization library.

MessagePack – an efficient binary serialization library for C/C++ (similar to JSON).

protobuf – Google’s protocol buffers data‑exchange format.

protobuf‑c – a C implementation of protocol buffers.

SimpleBinaryEncoding – a binary encoding/decoding system for low‑latency applications.

Thrift – an efficient cross‑language IPC/RPC framework for C++, Java, Python, PHP, C# and many other languages, originally developed at Twitter.

Video

libvpx – a VP8/VP9 codec SDK.

FFmpeg – a complete, cross‑platform solution for recording, converting and streaming audio and video.

libde265 – an open implementation of the H.265 video codec.

OpenH264 – an open‑source H.264 codec.

Theora – a free, open‑source video compression format.

Virtual Machines

CarpVM – an interesting VM written in C.

MicroPython – an implementation of Python 3.x for microcontrollers.

TinyVM – a small, fast, lightweight virtual machine written in pure ANSI C.

Web Application Frameworks

Civetweb – an easy‑to‑use, powerful embedded C/C++ web server with optional CGI, SSL and Lua support.

CppCMS – a free high‑performance web development framework (not a CMS).

Crow – a C++ micro‑web framework inspired by Python Flask.

Kore – a ultra‑fast, flexible web server/framework written in C.

libOnion – a lightweight library helping you create web servers in C.

QDjango – a C++ web framework based on Qt that mimics the Django API.

Wt – a C++ library for developing web applications.

XML

XML is often considered cumbersome; parsing it can be a pain.

Expat – an XML parsing library written in C.

Libxml2 – the GNOME XML C parser and toolkit.

libxml++ – a C++ XML parser.

PugiXML – a lightweight, simple, fast C++ XML parser with XPath support.

RapidXml – an attempt to create the fastest XML parser while maintaining usability, portability and reasonable W3C compatibility.

TinyXML – a simple, small C++ XML parser that can be easily integrated into other projects.

TinyXML2 – a simple, fast C++ XML parser.

TinyXML++ – a new interface for TinyXML using many C++ features such as templates and exceptions.

Xerces‑C++ – an XML validator/parser written in portable C++.

Miscellaneous

Various useful libraries or tools that do not fit the above categories.

C++ Format – a small, safe and fast formatting library for C++.

casacore – a suite of C++ core libraries derived from aips++.

cxx‑prettyprint – a printing library for C++ containers.

DynaPDF – an easy‑to‑use PDF generation library.

gcc‑poison – a simple header that helps developers forbid unsafe C/C++ functions.

googlemock – a library for writing and using C++ mock classes.

HTTP Parser – a C HTTP request/response parser.

libcpuid – a small C library for detecting x86 CPU features.

libevil – a license manager.

libusb – a cross‑platform library for USB device access.

PCRE – a C regular‑expression library inspired by Perl.

Remote Call Framework – a C++ inter‑process communication framework.

Scintilla – an open‑source code editing component.

Serial Communication Library – a cross‑platform serial‑port library written in C++.

SDS – a simple dynamic string library in C.

SLDR – an ultra‑light DNS resolver.

SLRE – an ultra‑light regular‑expression library.

Stage – a mobile robot simulator.

VarTypes – a feature‑rich, object‑oriented C++/Qt4 framework for managing variables.

ZBar – a barcode scanning library for photos, images and video streams.

CppVerbalExpressions – an easy‑to‑use C++ regular‑expression library.

QtVerbalExpressions – a Qt library based on the C++ VerbalExpressions library.

PHP‑CPP – a library for building PHP extensions using C++.

Better String – another C string library with richer functionality and a C++ wrapper.

Software

Software for creating development environments.

Compilers

List of C/C++ compilers.

Clang – developed by Apple.

GCC – the GNU Compiler Collection.

Intel C++ Compiler – developed by Intel.

LLVM – a collection of modular and reusable compiler and toolchain technologies.

Microsoft Visual C++ (MSVC) – developed by Microsoft.

Open Watcom – a cross‑compiler for C, C++ and Fortran.

TCC – a lightweight C compiler.

Online Compilers

List of online C/C++ compilers.

codepad – an online compiler/interpreter, a simple collaborative tool.

CodeTwist – an online compiler/interpreter for C, C++ or Java code.

coliru – an online compiler/shell supporting various C++ compilers.

Compiler Explorer – an interactive compiler that can show assembly output.

CompileOnline – an online C++ compilation and execution service on Linux.

Ideone – an online compiler and debugger supporting over 60 programming languages.

Debuggers

List of C/C++ debuggers.

Comparison of debuggers – a Wikipedia list of debuggers.

GDB – the GNU debugger.

Valgrind – a memory‑debugging, memory‑leak detection and performance‑analysis tool.

Integrated Development Environments (IDE)

List of C/C++ IDEs.

AppCode – an IDE built on JetBrains’ IntelliJ IDEA platform for Objective‑C, C, C++, Java and Java development.

CLion – a cross‑platform C/C++ IDE from JetBrains.

Code::Blocks – a free IDE for C, C++ and Fortran.

CodeLite – another free, cross‑platform C/C++ IDE.

Dev‑C++ – a portable C/C++/C++11 IDE.

Eclipse CDT – a full‑featured C and C++ IDE based on the Eclipse platform.

Geany – a lightweight, fast, cross‑platform IDE.

IBM VisualAge – an IBM family of IDEs.

Irony‑mode – a C/C++ micro‑mode for Emacs driven by libclang.

KDevelop – a free open‑source IDE.

Microsoft Visual Studio – an IDE from Microsoft.

NetBeans – primarily a Java IDE that also supports C/C++ and HTML5.

Qt Creator – a cross‑platform C++, JavaScript and QML IDE, part of the Qt SDK.

rtags – a client‑server indexer for C/C++ used with clang‑based Emacs integration.

Xcode – developed by Apple.

YouCompleteMe – a code‑completion engine for Vim.

Build Systems

Bear – a tool for generating compilation databases for clang tools.

Biicode – a simple file‑based dependency manager.

CMake – a cross‑platform, open‑source tool for managing the build process of software.

CPM – a C++ package manager based on CMake and Git.

FASTBuild – a high‑performance, open‑source build system supporting scalable compilation, caching and network distribution.

Ninja – a small build system focused on speed.

SCons – a software construction tool using Python scripts for configuration.

tundra – a high‑performance code‑build system suitable for very large projects.

tup – a file‑based build system that monitors file changes in the background.

Static Code Analysis

Tools for improving code quality and reducing defects.

Cppcheck – a static C/C++ code analysis tool.

include‑what‑you‑use – a clang‑based tool for analyzing #include directives in C and C++ files.

OCLint – a static source code analysis tool for C, C++ and Objective‑C.

Clang Static Analyzer – a source‑code analysis tool for finding bugs in C, C++ and Objective‑C programs.

List of tools for static code analysis – a Wikipedia list of static analysis tools.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

software developmentopen sourceResourceslibraries
Baidu Tech Salon
Written by

Baidu Tech Salon

Baidu Tech Salon, organized by Baidu's Technology Management Department, is a monthly offline event that shares cutting‑edge tech trends from Baidu and the industry, providing a free platform for mid‑to‑senior engineers to exchange ideas.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.