Namespaces
Variants

A list of open-source C++ libraries

From cppreference.net

Das Ziel dieser Seite ist es, eine umfassende Liste von Open-Source-C++-Bibliotheken zu erstellen, sodass man bei Bedarf an einer Implementierung bestimmter Funktionalität keine Zeit mit der Suche im Web verschwenden muss ( DuckDuckGo , Google , Bing , etc.)

Wenn Sie eine Bibliothek kennen, die für andere nützlich sein könnte, fügen Sie bitte hier einen Link hinzu. Es gibt keine Einschränkungen, was aufgenommen werden kann, außer dass der Quellcode der Bibliothek problemlos verfügbar zum Download sein muss.

Diese Seite wird "wie besehen" bereitgestellt - in der Hoffnung, nützlich zu sein, aber ohne jegliche Garantien. Veraltete, irreführende oder falsche Links können hier erscheinen. Wenn Sie einen solchen bemerkt haben, wäre es großartig, wenn Sie den Fehler korrigieren würden.

Bibliotheken: Inhaltsverzeichnis

Bibliotheken:


Inhaltsverzeichnis

Paketmanager

Paketmanager Beschreibung
build2 Ein quelloffenes (MIT), plattformübergreifendes Build-Toolchain, das die Benutzerfreundlichkeit von Rust Cargo für die Entwicklung und Verpackung von C/C++-Projekten nachahmen soll, während es mehr Tiefe und Flexibilität bietet, insbesondere im Build-System.
cget CMake-Paketabruf. Dies kann zum Herunterladen und Installieren von CMake-Paketen verwendet werden.
cmodule Nicht-invasive CMake-Abhängigkeitsverwaltung.
conan Dezentraler, quelloffener (MIT) C/C++-Paketmanager.
CPM.cmake Ein CMake-Skript, das CMake Abhängigkeitsverwaltungsfunktionen hinzufügt. Es ist als dünne Wrapper um CMakes FetchContent-Modul aufgebaut, das Versionskontrolle, Caching, eine einfache API und mehr hinzufügt.
hunter Ein CMake-gesteuerter, plattformübergreifender Paketmanager für C/C++-Projekte.
spack Ein Paketmanager für Supercomputer, Linux und macOS. Es erleichtert die Installation wissenschaftlicher Software. Es ist nicht an eine bestimmte Sprache gebunden.
teaport Ein von Cocoapods inspirierter Abhängigkeitsmanager.
vcpkg Ein C/C++-Paketmanager für Windows, Linux und macOS.
xmake Ein plattformübergreifendes, Lua-basiertes C/C++-Build-Tool und Paketmanager.

Bibliotheken

Audio

Bibliothek Beschreibung Lizenz Konfiguration
Amplitude Audio SDK Eine plattformübergreifende Audio-Engine, die für die Anforderungen von Spielen entwickelt wurde. ( Quellcode ) Apache-2.0 cmake, vcpkg
Aquila Eine Open-Source und plattformübergreifende DSP-Bibliothek für C++11. MIT cmake
Aubio Eine C/Python-Bibliothek für Audio- und Musikanalyse. ( Quellcode ) GPL-3.0 make
audioFlux Eine C-Bibliothek für Audio- und Musikanalyse, Merkmalsextraktion. MIT
Essentia Eine Open-Source-Bibliothek und Werkzeuge für Audio- und Musikanalyse, Beschreibung und Synthese (MIR) ( Quellcode ) Affero GPLv3
FFTW Eine Bibliothek zur Berechnung der DFT (SSE/SSE2/AVX/Altivec/ARM Neon). ( Quellcode ) GPL-2.0 cmake
FMOD Eine einfach zu verwendende plattformübergreifende Audio-Engine und Audioinhaltserstellungswerkzeug für Spiele. Kostenlos für nicht-kommerzielle/kommerzielle Nutzung cmake
KFR Ein schnelles, modernes, C++17, Open-Source, plattformübergreifendes DSP/DFT-Framework, unterstützt Audio-Resampling, FIR/IIR-Filter, Biquad (SSE, AVX, AVX-512, ARM NEON). ( Quellcode ) GPL-2.0 cmake
libsoundio Eine C-Bibliothek für plattformübergreifende Echtzeit-Audioeingabe und -ausgabe. ( Quellcode ) MIT cmake
Maximilian C++ Audio- und Musik-DSP-Bibliothek. MIT cmake
Miniaudio Eine C-Bibliothek für Audiowiedergabe und -aufnahme. ( Quellcode ) Unlicense einzelne Quelldatei
ni-media C++-Bibliothek zum Lesen und Schreiben von Audiodateien. MIT cmake, vcpkg
OpenAL Eine plattformübergreifende Audio-API. BSD/LGPL/Proprietär cmake
PortAudio PortAudio ist eine kostenlose, plattformübergreifende, Open-Source-Audio-E/A-Bibliothek. ( Quellcode ) MIT cmake, vcpkg
rnnoise Rekurrentes neuronales Netzwerk zur Audiogeräuschreduzierung. BSD-3-Clause make
SELA S impl E L ossless A udio. MIT cmake
SoLoud Einfache, portable Audio-Engine für Spiele. zlib
Soundtouch SoundTouch ist eine Open-Source, plattformübergreifende Audioverarbeitungsbibliothek zur Änderung von Tempo, Tonhöhe und Wiedergabegeschwindigkeit von Audiostreams oder Audiodateien. ( Quellcode ) LGPL-2.1 make
Tonic Einfache und effiziente Audiosynthese in C++. Unlicense
Verovio Eine schnelle und schlanke Musiknotationsgravur-Bibliothek. ( Quellcode ) LGPL cmake, qmake
Wav2Letter++ Ein schnelles Spracherkennungswerkzeug, vollständig in C++ geschrieben und verwendet die ArrayFire-Tensorbibliothek und die Flashlight-Machine-Learning-Bibliothek für maximale Effizienz. BSD-Lizenz cmake

CD
Bibliothek Beschreibung Lizenz Konfiguration
libkcompactdisc Eine Bibliothek zur Kommunikation mit CDs GPL v2.0 cmake

Fingerprinting
Bibliothek Beschreibung Lizenz Konfiguration
chromaprint Chromaprint ist eine Audio-Fingerprint-Bibliothek zur Identifizierung nahezu identischer Audiodateien. Sie tauscht Präzision und Robustheit gegen Suchperformance. Chromaprint kann mehrere FFT-Bibliotheken verwenden - FFmpeg, FFTW3, KissFFT oder vDSP. ( Src ) MIT, LGPL 2.1 cmake
libmusicbrainz Die MusicBrainz Client Library (libmusicbrainz), auch bekannt als mb_client, ist eine Entwicklungsbibliothek für Programmierer, die MusicBrainz-Abfragefunktionen in ihren Anwendungen integrieren möchten. Die Bibliothek unterstützt Windows, Linux und Mac OS X ( Src ) LGPL-2.1 cmake
libofa Ein quelloffener Audio-Fingerprint von MusicIP APL make

Formate
Bibliothek Beschreibung Lizenz Konfiguration
AudioFile Eine einfache C++-Bibliothek zum Lesen und Schreiben von Audiodateien. MIT cmake
audio_file Eine Bibliothek, die das Lesen und Schreiben von Audiodateien in vielen gängigen Formaten unterstützt. ( Src ) LGPL-2.1 make
dr_libs Einzeldatei-Audio-Decodierungsbibliotheken (FLAC, MP3, WAV) für C und C++. Unlicense
flac FLAC steht für F ree L ossless A udio C odec, was bedeutet, dass in FLAC komprimierte Audiodaten keinen Qualitätsverlust aufweisen. FLAC zeichnet sich als schnellster und am weitesten unterstützter verlustfreier Audiocodec aus, ist nicht proprietär und unterliegt keinen Patentbeschränkungen. Open Source , BSD, GPL
LAME LAME ist ein hochwertiger MPEG Audio Layer III (MP3)-Encoder. LGPL
libsndfile Eine C-Bibliothek mit C++-Wrapper zum Lesen und Schreiben von Dateien mit abgetastetem Sound (z.B. WAV, AIFF) über eine einheitliche Bibliotheksschnittstelle. ( Src ) LGPL-2.1 cmake, make, vcpkg
minimp3 Minimalistischer MP3-Decoder CC0-1.0 header-only
Opus Ein vollständig offener, lizenzkostenfreier, vielseitiger Audiocodec. BSD cmake
Vorbis Ogg Vorbis ist ein vollständig offenes, nicht-proprietäres, patent- und lizenzkostenfreies Allzweck-Audiokompressionsformat. BSD cmake

Tagging
Bibliothek Beschreibung Lizenz Konfiguration
id3lib Eine quelloffene, plattformübergreifende Bibliothek zum Lesen, Schreiben und Bearbeiten von ID3v1- und ID3v2-Tags sowie zum Abrufen grundlegender MP3-Header-Informationen wie Bitrate. Wir empfehlen jedoch nun, auf taglib zu wechseln :) LGPL v2
taglib Die TagLib Audio Metadata Library ist eine Bibliothek zum Lesen und Bearbeiten der Metadaten verschiedener gängiger Audioformate: ID3v1, ID3v2 für MP3-Dateien, Ogg Vorbis-Kommentare und ID3-Tags sowie Vorbis-Kommentare in FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4 und ASF-Dateien. ( Src ) LGPL und MPL v1.1

Benchmarking

Bibliothek Beschreibung Lizenz Konfiguration
benchmark Eine Bibliothek zum Benchmarking von Codeabschnitten, ähnlich wie Unit-Tests Apache 2.0 cmake
Celero Eine funktionsreiche C++ Benchmark-Erstellungsbibliothek/-Framework. Unterstützt Windows, Linux und OSX mit C++11. Apache cmake
Criterion Eine Micro-Benchmarking-Bibliothek für modernes C++ MIT header-only; cmake
gperftools Die 'Google Performance Tools' beinhalten eine hochperformante, multithreaded malloc-Implementierung sowie Werkzeuge zum Benchmarking von Heap-Allokation und CPU-Auslastung. BSD 3-Clause "New" or "Revised" configure
nanobench Einfache, schnelle, präzise Single-Header-Micro-Benchmarking-Funktionalität für C++11/14/17/20. ( Src ) MIT header-only; cmake
picobench Eine winzige (Mikro-) Micro-Benchmarking-Bibliothek MIT header-only; cmake
plf::nanotimer Ein Timer mit geringstem Overhead, plattformübergreifend für Benchmarking. zlib header-only

Kommunikation

Bibliothek Beschreibung Lizenz Konfiguration
ACE Asynchrone Netzwerkkommunikation, Ereignis-Demultiplexing, Nachrichtenübermittlung ( Src ) ( Doc ) Benutzerdefiniert make
Apache Thrift Das Apache Thrift Software-Framework für skalierbare sprachübergreifende Dienstentwicklung kombiniert einen Software-Stack mit einer Code-Generierungs-Engine, um Dienste zu erstellen, die effizient und nahtlos zwischen C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml und Delphi sowie anderen Sprachen arbeiten. ( Quellcode ) Apache-2.0 cmake, vcpkg
Boost.Asio Asynchrone und synchrone Netzwerkfunktionen, Timer, serielle E/A BSL-1.0
Boost.Beast Eine HTTP- und WebSocket-Bibliothek auf Basis von Boost.Asio BSL-1.0
Breep Eine ereignisbasierte, hochrangige Peer-to-Peer-Bibliothek, die es Benutzern ermöglicht, Objekte direkt zu senden und zu empfangen. European Union Public License 1.1 cmake
brpc Ein RPC-Framework für den industriellen Einsatz, das bei Baidu flächendeckend verwendet wird, mit über 1.000.000 Instanzen und tausenden von Diensten. ( Quellcode ) ( Dokumentation ) Apache 2.0 cmake
C++ REST SDK Ein asynchroner HTTP-Client und Listener, asynchroner Stream, URI, JSON MIT cmake
cpp-httplib Eine C++11 Single-File Header-Only Cross-Platform HTTP/HTTPS-Bibliothek MIT Header-Only; CMake
cpp-netlib Eine C++ Netzwerkbibliothek BSL-1.0 cmake
cppsimpleuri Ein moderner C++ URI- & Query-Parser MIT cmake
cpr Eine moderne C++ HTTP-Anfragenbibliothek MIT cmake
Crow Ein C++ Micro-Web-Framework (inspiriert von Python Flask) BSD-3-Clause Nur-Header; cmake
curlpp C++-Wrapper für libcURL (CURL-Bibliothek). ( Quellcode ) cmake, vcpkg
DumaisLib Verschiedene Hilfsprogramme wie WebServer, JSON, WebSocket-Server, REST-Framework (eine Bibliothek zur Erstellung einer REST-API in Ihrer C++-Anwendung) MIT make
EasyHttp Eine plattformübergreifende HTTP-Client-Bibliothek mit Fokus auf Benutzerfreundlichkeit und Geschwindigkeit, die HTTP-Antwort-Caching und mehr unterstützt. MIT cmake
eCAL Eine hochperformante Interprozesskommunikationsbibliothek Apache 2.0 cmake
fineftp-server Eine FTP-Server-Bibliothek für Windows und Unix MIT cmake
FPNN F ast P rogrammable N exus N etwork. Hochleistungsfähiges vollständig asynchrones RPC-Dienstframework. Unterstützt gleichzeitig HTTP, WebSocket, TCP und zuverlässiges UDP. Ermöglicht die Entwicklung von Servern mit extrem hoher Last, mit entsprechenden Client-SDKs. 未知 make
gRPC Ein modernes Open-Source-RPC-Framework mit hoher Leistung, das in jeder Umgebung laufen kann. ( Quellcode ) ( Dokumentation ) Apache-2.0 bazel, cmake, vcpkg
gsoap Ein C/C++ Entwicklungstoolkit für XML-Datenbindungen, schnelle WSDL/SOAP/XML-Webdienste, WS-Sicherheit, JSON/XML-RPC RESTful-Dienste GPLv2
hmbdc Ein leichtgewichtiges und hochleistungsfähiges C++17 Message Pub/Sub Middleware-Framework/-Bibliothek Nur-Header
HTTPP Ein einfacher, produktionsreifer HTTP-Server auf Basis von C++14, aufgebaut auf Boost, sowie ein auf libcurl basierender Client. BSD 2-Clause "Simplified" cmake, make
IXWebSocket Eine quelloffene WebSocket + HTTP Bibliothek ohne Abhängigkeiten, unterstützt SSL und die per Message Deflate WebSocket-Erweiterung. BSD 3-Clause "New" or "Revised" cmake, make
KCP Ein schnelles und zuverlässiges ARQ-Protokoll, das Anwendungen hilft, Netzwerklatenz zu reduzieren. MIT cmake
libashttp Eine asynchrone HTTP-Client-Bibliothek GNU Lesser General Public v3.0
libjson-rpc-cpp

Ein Framework, das plattformübergreifende JSON-RPC (Remote Procedure Call) Unterstützung für C++ bereitstellt, vollständig kompatibel mit JSON-RPC 2.0 & 1.0.

MIT cmake, conan
libnavajo Ein C++ Framework mit einem schnellen multithreaded HTTP-Server, HTML5 Websockets, SSL, X509 und HTTP-Authentifizierung, Kompression, Cookies und erweitertem Sitzungsmanagement, IPv4 und IPv6 (CeCILL-C). CeCILL-C FREE SOFTWARE LICENSE AGREEMENT cmake
libtins Eine Netzwerkpaket-Erstellungs- und Sniffing-Bibliothek ( Quellcode ) ( Dokumentation ) BSD-2 cmake, vcpkg
LiteNetLibPP Eine leichtgewichtige, zuverlässige UDP-Bibliothek für Spiele MIT cmake
mailio MIME- und E-Mail-Bibliothek BSD 2-Clause "Simplified" cmake
nanomsg Eine schnelle Nachrichtenwarteschlange, Zeromq-Nachfolger
netif Eine C++14-Bibliothek zum Abrufen von Netzwerkadressen unter Windows, Linux, macOS und FreeBSD. BSD 3-Clause "New" or "Revised" Nur Header; cmake
nghttp2 HTTP/2 C-Bibliothek und Werkzeuge (Server, Client, Proxy und Benchmarking-Tools) MIT cmake, configure
ngrest Ein schnelles und einfach zu verwendendes JSON RESTful Web Services Framework Apache 2.0 cmake
nng Eine schnelle Nachrichtenwarteschlange, Nachfolger von nanomsg
Oat++ Ein Web-Framework: REST-API und Request-Implementierung ( Src ) ( Doc ) Apache 2.0 cmake
omniORB Die schnellste, vollständige und portable CORBA ORB-Implementierung in C++
OpenDDS DDS (Data Distribution Service)-Implementierung
Paho MQTT Ein moderner C++-Client für MQTT von Eclipse cmake
paozhu Ein C++20-Webframework mit Unterstützung für HTTP/2, ORM und WebSocket MIT cmake
PcapPlusPlus Multi-Plattform C++ Netzwerk-Sniffing- und Paketverarbeitungs-Framework. Bietet C++ Wrapper für viele beliebte Paketverarbeitungs-Engines wie libpcap, Npcap, WinPcap, DPDK, AF_XDP und PF_RING. ( Quellcode ) Unlicense conan, homebrew, cmake, vcpkg
POCO Netzwerke: Verschlüsselung, HTTP; Zip-Dateien ( Dokumentation )
rest_rpc Ein C++11, hochperformantes, plattformübergreifendes, einfach zu verwendendes RPC-Framework. MIT cmake
restbed Ein plattformübergreifendes funktionsreiches Framework, das asynchrone RESTful-Funktionalität (sichere Kommunikation über HTTP) für C++14-Anwendungen bereitstellt. Lizenz cmake
restc-cpp Zugriff auf JSON-APIs von C++. HTTP-Client, native C++-Klasse zu/von JSON-Serialisierung, asynchrone IO über boost::asio Coroutinen. C++14. MIT cmake
restful_mapper ORM für die Nutzung von RESTful JSON APIs in C++ cmake, make
seastar Ein Hochleistungs-Framework für serverseitige Anwendungen, basierend auf C++14/C++17. Apache 2.0 cmake, etc.
Silicon Das Silicon C++14 Web Framework: Schnelle und robuste Web-APIs MIT cmake
sockpp Eine einfache, moderne C++ Socket-Bibliothek BSD 3-Clause "New" oder "Revised" cmake
stream-client Ein leichtgewichtiger Boost-basierter Client-seitiger Socket/Connector/Socket-Pool/Resolver Apache 2.0 Nur Header; cmake
tacopie Eine C++11 TCP-Bibliothek MIT cmake
TAO CORBA
taox11 Eine C++11-basierte CORBA-Implementierung MIT
Unicomm Asynchrone Netzwerkkommunikation, High-Level TCP-Kommunikationsframework
uvw Ein libuv (plattformübergreifende asynchrone E/A) Wrapper in C++17 MIT Nur-Header; cmake
WNetWrap Ein WinInet-Wrapper in C++ MIT
wvstreams Eine C++-Netzwerkbibliothek mit UniConf und einer praktischen D-Bus-API GPL
zeromq Eine schnelle Nachrichtenwarteschlange

Nebenläufigkeit

Bibliothek Beschreibung Lizenz Konfiguration
AdaptiveCpp Bietet einen SYCL und C++ parallel STL Offloading-Compiler und Laufzeitsystem für CPUs und GPUs von NVIDIA, AMD, Intel BSD-2-Clause cmake
Asyncpp Eine asynchrone C++-Bibliothek, die verschiedene nebenläufige Operationen bereitstellt MIT cmake
BlockingCollection C++11 threadsichere, Multi-Producer-, Multi-Consumer-Blocking-Queue-, Stack- & Priority-Queue-Klasse GPL-3.0 Nur-Header
Boost.Atomic Bietet atomare Datentypen und Operationen auf diesen Datentypen sowie Speicherordnungsbeschränkungen, die für die Koordination mehrerer Threads durch atomare Variablen erforderlich sind. BSL-1.0
Boost.Compute Eine GPU/Parallel-Computing-Bibliothek für C++ basierend auf OpenCL. BSL-1.0 cmake
Boost.Context Eine C++11-Bibliothek, die eine Abstraktion für kooperatives Multitasking auf einem einzelnen Thread bereitstellt. BSL-1.0
Boost.Interprocess Vereinfacht die Verwendung von Interprozesskommunikation und Synchronisationsmechanismen und bietet eine breite Palette davon: Shared Memory, speichergemappte Dateien, Semaphoren, Mutexe, Condition Variables und upgradable Mutex-Typen, benannte Versionen der Synchronisationsobjekte, Dateisperren, Message Queues. BSL-1.0
Boost.Lockfree Bietet nicht-blockierende (auch lock-free genannte) nebenläufige Datenstrukturen: eine Warteschlange, einen Stapelspeicher und einen Ringpuffer (spsc_queue). BSL-1.0
Boost.MPI Eine C++-freundliche Schnittstelle zum Standard Message Passing Interface BSL-1.0
Boost.Thread Ermöglicht die Verwendung mehrerer Ausführungsstränge mit gemeinsamen Daten und bietet Mittel zur Synchronisierung von Daten zwischen den Strängen. BSL-1.0
concurrencpp Moderne Nebenläufigkeit für C++. Tasks, Executors, Timer und C++20 Coroutinen. MIT cmake
dispenso Hochleistungs-Parallelverarbeitung für C++. parallel_for, Futures, Pipelines, Timer, zeitgesteuerte/periodische Aufgaben und nebenläufige Datenstrukturen. MIT cmake
Highway Bietet leistungsportable, längenagnostische SIMD/Vektor-Intrinsics. Unterstützt: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER. ( Dokumentation ) Apache-2.0 cmake
HPX Ein allgemeines C++ Laufzeitsystem für parallele und verteilte Anwendungen beliebigen Umfangs ( Doc ) BSL-1.0 cmake, vcpkg
Intel TBB Intel® TBB ist eine plattformübergreifende C++-Bibliothek für Shared-Memory-Parallelprogrammierung und heterogenes Rechnen. Die Bibliothek bietet: generische parallele Algorithmen, nebenläufige Container, einen skalierbaren Speicherzuweiser, Work-Stealing-Taskplaner und Low-Level-Synchronisationsprimitive. ( Src ) ( Doc ) Apache-2.0 oder kommerziell cmake, make
KOKKOS Ein Programmiermodell zum Schreiben von leistungsportablen HPC-Anwendungen, das CUDA, HIP, SYCL, HPX, OpenMP und C++-Threads als Backends verwendet ( Dokumentation ) Benutzerdefiniert cmake, make
libopenmpi Das Open MPI Project ist eine Open-Source-Implementierung des Message Passing Interface 3-clause BSD
libsimdpp Eine portable, overheadfreie Low-Level-SIMD-Bibliothek für C++. Boost Nur Header; cmake
MPL Eine C++-17-freundliche Schnittstelle zum Standard Message Passing Interface BSD 3-Clause "New" or "Revised" Nur Header; cmake
MutexGear Eine nur auf Mutex basierende Synchronisationsbibliothek für C/C++: Rad, rwlock, maintlock, Arbeitsschlangen Die MutexGear Bibliothek configure, msvc, make
OpenMP Die OpenMP-API-Spezifikation für parallele Programmierung
PoCL Eine portable, neu ausrichtbare Open-Source-Implementierung (basierend auf LLVM) des OpenCL-Standards. ( Quell ) ( Dok ) MIT cmake
RaftLib C++17-Stream-ähnliche nebenläufige Aktoren, die parallele Datenflussberechnungen ermöglichen Apache-2.0 cmake
SObjectizer Ein kleines plattformübergreifendes Framework für nebenläufige und ereignisgesteuerte Anwendungen in C++ durch Verwendung von Actor- und Publish-Subscribe-Modellen. BSD-3-Clause cmake, vcpkg, conan
stdgpu Effiziente STL-ähnliche Datenstrukturen auf der GPU Apache 2.0 cmake
subprocess C++17/20 plattformübergreifende Bibliothek zum Ausführen von Subprozessen MIT cmake, teaport
Taskflow Parallele Task-Programmierung in Modern C++ TASKFLOW MIT cmake
task-thread-pool Schneller und leichtgewichtiger Thread-Pool für C++11 und neuer. BSD-2-Clause oder MIT oder BSL-1.0 cmake, vcpkg, einzelne Header-Datei
ThreadPool Ein einfacher leichtgewichtiger Thread-Pool BSD-3-Clause Nur-Header; cmake, make
thread_pool Ein moderner, schneller, schlanker Thread-Pool MIT cmake
Thrust STL-ähnliche parallele Algorithmen und Datenstrukturen auf Basis von CUDA, TBB oder OpenMP Apache v2.0, Boost v1.0. cmake
TimerAlarm Timer und Alarme basierend auf Threads. BSD-3-Clause Nur Header; cmake, make
VexCL Eine C++ Vektor-Ausdrucksvorlagenbibliothek für OpenCL, CUDA, OpenMP MIT cmake
ViennaCL Lineare Algebra und Algorithmen mit OpenMP, CUDA und OpenCL Backends. ( Quellcode ) ( Dokumentation ) Benutzerdefiniert cmake
Xenium Eine C++17-Bibliothek, die verschiedene nebenläufige Datenstrukturen und Wiedergewinnungsschemata bereitstellt. MIT Nur Header; cmake

Konfiguration

Bibliothek Beschreibung Lizenz Konfiguration
Boost.Program_options Die Bibliothek ermöglicht es, Programmoptionen, also (Name, Wert)-Paare vom Benutzer über konventionelle Methoden wie Kommandozeile, Konfigurationsdatei und Umgebungsvariablen zu erhalten. BSL-1.0
figcone Lese JSON-, YAML-, TOML-, XML- oder INI-Konfiguration durch Deklaration einer Struktur MS-PL cmake
gconfmm Eine plattformübergreifende (offizielle) C++-Schnittstelle für die beliebte GUI-Bibliothek GTK, inklusive typsicherer Callbacks und einem umfassenden Satz von Widgets, die leicht durch Vererbung erweiterbar sind. gtkmm verwendet STL, einschließlich string s, Containern und Iteratoren. UTF8 wird unterstützt. ( Src ) ( Doc ) LGPLv2.1 autotools, meson, make
libconfig Eine einfache plattformübergreifende C/C++-Bibliothek zur Verarbeitung strukturierter Konfigurationsdateien ( "*.cfg" ) ( Src ) ( Doc ) LGPL 2.1 autotools, cmake, make
libconfini Ein plattformübergreifender INI-Parser geschrieben in C ( Doc ) GPL-3.0 autotools, make
uconfig Eine schlanke C++17-Konfigurationsbibliothek Apache 2.0 header-only; cmake

Befehlszeile
Bibliothek Beschreibung Lizenz Konfiguration
Argh! Ein minimalistischer Argument-Handler. BSD 3-Clause header-only; cmake, vcpkg
argparse (hbristow) Eine schlanke C++-Klasse zum Parsen von Kommandozeilenargumenten mit einer ähnlichen Schnittstelle wie die gleichnamige Python-Klasse. BSD
argparse (morrisfranken) Eine leichtgewichtige Bibliothek zum eleganten Parsen von Kommandozeilenargumenten. Apache 2 header-only; cmake
argparse (p-ranav) Ein Kommandozeilenargument-Parser für C++17 MIT header-only; cmake, vcpkg
args Eine einfache C++-Argument-Parser-Bibliothek. MIT header-only; cmake, conan, meson, vcpkg
Boost.Program_options Die Bibliothek ermöglicht das Abrufen von Programmoptionen, also (Name, Wert)-Paaren vom Benutzer, über konventionelle Methoden wie Kommandozeile, Konfigurationsdatei und Umgebungsvariablen. BSL-1.0
CLI11 Ein C++11-Kommandozeilenparser, der einen umfangreichen Funktionsumfang mit einer einfachen und intuitiven Schnittstelle bietet. BSD-3-Clause header-only; cmake, meson, vcpkg
clipp Leistungsstarkes & ausdrucksstarkes Argument-Parsing für modernes C++. MIT header-only; cmake, vcpkg
cmd_line_parser Kommandozeilenparser für C++17. MIT header-only; cmake
cmdlime Eine C++17-Bibliothek für die Kommandozeilenanalyse, die eine prägnante, deklarative Schnittstelle mit Unterstützung für Unterbefehle, Validatoren und der Möglichkeit bietet, entweder das GNU-, POSIX- oder X11-Kommandozeilenoptionsformat zu wählen. MS-PL cmake
cxxopts Ein leichtgewichtiger C++11/C++17-Kommandozeilenargument-Parser, der die standardmäßige GNU-Stylesyntax für Optionen unterstützt. MIT header-only; bazel, cmake
fire-hpp Erstellen Sie voll funktionsfähige CLIs mithilfe von Funktionssignaturen. BSL-1.0 header-only; cmake
flags Einfacher, erweiterbarer C++17-Argument-Parser. Unlicense header-only; cmake
gflags Eine Bibliothek, die die Verarbeitung von Kommandozeilen-Flags implementiert. Sie enthält eingebaute Unterstützung für Standardtypen wie String und die Möglichkeit, Flags in der Quelldatei zu definieren, in der sie verwendet werden. BSD cmake
structopt Parsen Sie Kommandozeilenargumente durch Definition einer Struktur. MIT header-only; cmake
tclap Eine einfache C++-Template-Bibliothek zum Parsen von Kommandozeilenargumenten. Die Bibliothek bietet eine einfache, flexible objektorientierte Schnittstelle. MIT cmake

CSS
Bibliothek Beschreibung Lizenz Konfiguration
mycss CSS Parser

HOCON
Bibliothek Beschreibung Lizenz Konfiguration
cpp-hocon Eine C++-Implementierung des HOCON-Formats, entwickelt von Pupplet.

JSON
**Erklärung:** - "qjson" wurde nicht übersetzt, da es sich um einen C++-spezifischen Begriff/Bibliotheksnamen handelt - HTML-Tags, Attribute und Formatierung wurden original belassen - Der Link und alle technischen Elemente bleiben unverändert - Nur der lesbare Text wurde gemäß den Vorgaben behandelt
Bibliothek Beschreibung Lizenz Konfiguration
ArduinoJson C++98/11/14/17 JSON-Bibliothek für Arduino, IoT und eingebettetes C++ MIT cmake
Boost.JSON JSON-Parsing, Serialisierung und DOM in C++11/17 BSL-1.0
cajun-jsonapi Eine C++-API für JSON mit Schwerpunkt auf einer intuitiven, prägnaten Schnittstelle, die Standard-C++ so weit wie möglich nachahmt. make
DAW JSON Link Eine C++17-Bibliothek, die statische C++-Bindungen mit Typüberprüfung bereitstellt und das direkte Parsen in Benutzerdatenstrukturen ohne Bibliotheksallokierung ermöglicht, Push/Pull-Modi, Allokatorunterstützung, constexpr BSL 1.0 cmake
Glaze Eine der schnellsten JSON-Bibliotheken (C++23) mit direkter Speicherserialisierung. Unterstützt auch BEVE und CSV. MIT cmake, conan, build2, vcpkg
jansson Eine C-Bibliothek zum Kodieren, Dekodieren und Manipulieren von JSON-Daten mit UTF-8-Unterstützung MIT cmake, make
jeayeson Eine sehr vernünftige C++14 JSON-Bibliothek BSD-3 Nur-Header
jios JSON-Eingabe-Ausgabe-Streams MIT cmake
JOST
json Niels Lohmann JSON für C++11, mit intuitiver Syntax MIT Nur Header; bazel, cmake, meson
Jsonifier Einige C++20-Klassen für extrem schnelles JSON-Parsing/Serialisierung MIT cmake
JSON Voorhees Killer JSON für C++11 ( Dokumentation ) Apache-2.0 cmake
JSON++
json11 Eine kompakte JSON-Bibliothek für C++11, die JSON-Parsing und Serialisierung bereitstellt. MIT cmake
JsonBox Eine C++-Bibliothek zum einfachen und schnellen Lesen und Schreiben von JSON. MIT cmake
jsoncons Eine Bibliothek für JSON und JSON-ähnliche Datenformate, mit JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON. Benutzerdefiniert Nur Header
jsoncpp Eine Bibliothek zur Manipulation von JSON-Werten, einschließlich Serialisierung und Deserialisierung, unter Beibehaltung von Kommentaren. MIT cmake, conan, vcpkg
libjson
minijson Eine C++ DOM-lose und speicherbelegungsfreie JSON-Parsing- und Serialisierungsbibliothek Benutzerdefiniert cmake
Neyson Leichtgewichtige C++11 JSON-Bibliothek BSD-3-Clause cmake
nosjob Eine C++98-Bibliothek zum Erzeugen und Verarbeiten von JSON-Daten MIT make
qjson
rapidjson Ein schneller JSON-Parser/Generator für C++ mit SAX/DOM-API, unterstützt UTF-8/16/32, optional mit SIMD-Nutzung. ( Dokumentation ) Benutzerdefiniert Nur Header; cmake, vcpkg
simdjson Parst Gigabytes von JSON pro Sekunde durch Nutzung moderner Mikroarchitekturen und Parallelisierung mit SIMD ( Doc ) ( Video ) Apache-2.0 cmake, vcpkg
struct_mapping Ordnet JSON einer C++-Struktur zu und von dieser ab MIT cmake
swxJson Die derzeit am bequemsten zu verwendende C++ JSON-Bibliothek. Lesen und Schreiben komplexer Strukturen auf beliebiger Ebene mit nur einem Funktionsaufruf. Die Leistung beträgt etwa die Hälfte von RapidJSON. MIT make
ThorsSerializer JSON/BSON/YAML Eingabe-Ausgabe-Streams MIT make
ujson µjson ist eine kleine, C++11, UTF-8, JSON-Bibliothek cmake
yyjson Eine hochperformante JSON-Bibliothek geschrieben in ANSI C MIT cmake

TOML
Bibliothek Beschreibung Lizenz Konfiguration
toml++ TOML-Parser und Serialisierer für C++17 und höher
toml11 TOML-Parsing-Bibliothek basierend auf C++11

XML
Bibliothek Beschreibung Lizenz Konfiguration
ai-xml Serialisiert Objekte nach und aus XML durch Hinzufügen einer einzelnen, minimalen Funktion zu einer Klasse. Verwendet libxml++ im Hintergrund. AGPL-3.0 make
GPDS Ein universeller Datenserialisierer zur Serialisierung von Objekten nach und aus XML. Verwendet TinyXML im Hintergrund.
gSOAP XML-Datenbindungen
libxml++ libxml++ ist ein C++-Wrapper für die libxml XML-Parser-C-Bibliothek. ( Dokumentation ) LGPL-2
pugixml Ein leichtgewichtiger, einfacher und schneller XML-Parser für C++ mit XPath-Unterstützung MIT cmake, conan
tinyxml
tinyxml2 Eine weitere und in Entwicklung befindliche Version von TinyXML.
Xerces

YAML
Bibliothek Beschreibung Lizenz Konfiguration
yaml-cpp Ein YAML-Parser und -Emitter in C++ MIT cmake

Container

Bibliothek Beschreibung Lizenz Konfiguration
Boost.Bimap Eine bidirektionale Map-Bibliothek, die assoziative Container wie bimap<X,Y> bietet, in denen sowohl X als auch Y als Schlüssel verwendet werden können. ( Src ) BSL-1.0
Boost.Container Eine Bibliothek, die mehrere bekannte Container implementiert, einschließlich stdlib-ähnlicher Container sowie rekursiver Container und neuer nützlicher Container: flat_map , flat_set , flat_multimap , flat_multiset , stable_vector , static_vector , small_vector , devector . ( Quellcode ) BSL-1.0 Nur Header
Boost.Fusion Eine Bibliothek zur Arbeit mit heterogenen Sammlungen von Tupeln . Bietet eine Reihe von Containern ( vector , list , set und map ), zusammen mit transformierten Darstellungen ihrer zugrundeliegenden Daten, auch bekannt als Views ." ( Src ) BSL-1.0
Boost.Heap Eine Implementierung von Prioritätswarteschlangen mit mehr Funktionalität und anderen Leistungsmerkmalen als die Standardbibliothek. ( Src ) BSL-1.0
Boost.Pointer Container Bietet Container zur Aufnahme von heap-allokierten Objekten auf ausnahmesichere Weise und mit minimalem Overhead. ( Src ) BSL-1.0
Boost.Tuple Implementiert pre-C++11 n- tuple (eine Sammlung fester Größe von Elementen) ( Src ) BSL-1.0
Boost.Variant Implementiert pre-C++17 variant (ein sicherer, generischer, stack-basierter diskriminierter union Container) ( Src ) BSL-1.0
C++ Allocators Standardbibliothekskonforme Allokatoren für feste Größen von statischem und stack-basiertem Speicher + ein weiterer konformer Allokator, der benutzerdefinierte Grenzallokation ermöglicht BSD-3-Clause cmake, make
cpp-btree B-Baum-Container nutzen den CPU-Cache besser aus: btree_map , btree_set , btree_multimap , btree_multiset . ( Quellcode ) Apache-2.0 Nur Header; cmake
DataFrame C++ DataFrame für statistische, finanzielle und ML-Analysen -- in modernem C++ mit nativen Typen und kontinuierlicher Speicherverwaltung BSD-3-Clause cmake, make, conan, vcpkg
eggs::variant Eggs.Variant ist eine C++11/14/17 generische, typsichere, diskriminierte Union. Sie ist besonders bemerkenswert für ihre sehr gute constexpr Unterstützung. BSL-1.0 cmake
Frozen C++14 constexpr perfekte-Hashing-basierte immutable Sets, Maps und Algorithmen. Apache-2.0 Nur Header; cmake
Immer Eine Bibliothek von persistenten und unveränderlichen Datenstrukturen Boost cmake
plf::colony Ungeordneter "beutelartiger" Container, der in Szenarien mit häufigen Änderungen eine bessere Leistung als std:: Container erzielt und gleichzeitig gültige Zeiger auf nicht gelöschte Elemente unabhängig von Einfügungen und Löschungen beibehält. Kompatibel mit C++98/11/14/etc. Siehe auch P0447 ( std::hive ). ( Quellcode ) zlib conan build2
plf::list Eine std::list -Implementierung, die Bereichs-Splicing für Cache-Freundlichkeit opfert und dadurch schnellere Einfügung, Löschung und Iteration ermöglicht. Kompatibel mit C++98/03/11/14/17/20/23/26/etc. ( Src ) ( Doc ) zlib
plf::reorderase Eine Erweiterung und Optimierung des "Swap-and-Pop"/"Move-and-Pop"-Idioms für Container mit wahlfreiem Zugriff, um die Löschleistung von Random-Access-Containern zu erhöhen, wenn die Reihenfolge nach dem Löschen unwichtig ist. Behandelt einzelne, Bereichs- und std::erase_if -artige Löschvorgänge. Kompatibel mit C++98/11/14/etc. ( Quellcode ) zlib
plf::queue Ein Drop-in-Ersatzcontainer für den std::queue Container-Adapter mit besserer Leistung als std::deque und std::list in einem Queue-Kontext. C++98/11/14/etc-kompatibel. ( Src ) zlib
plf::stack Ein Drop-in-Ersatzcontainer für den std::stack Container-Adapter mit besserer Performance als std::vector und std::deque in einem Stack-Kontext. C++98/11/14/etc-kompatibel. ( Src ) zlib
ring_span Eine schlanke Implementierung von Arthur O'Dwyers ring_span , auch bekannt als zirkulare Pufferansicht. C++98-kompatibel. BSL-1.0 Nur Header; cmake
strict_variant Eine Echtzeit-/Embedded-freundliche (d.h. -fno-exceptions / -fno-rtti kompatible), niemals-leere variant für C++11. Schnell, verhindert viele unerwünschte implizite Konvertierungen. BSL-1.0 cmake
tiny::optional Ein Ersatz für std::optional , der die Verwendung von Sentinel-Werten ermöglicht, um den Speicheraufwand zu eliminieren. BSL-1.0 cmake
Ygg Eine intrusive C++11-Implementierung von hochleistungsfähigen Containern und Datenstrukturen wie einem Rot-Schwarz-Baum , einem Intervallbaum und einer Intervall-Map. MIT Nur Header; cmake

Kryptographie

Bibliothek Beschreibung Lizenz Konfiguration
Botan Ein Kryptografie-Toolkit. ( Src ) BSD 2-Clause "Simplified" make
crypto++ Eine freie C++-Klassenbibliothek für kryptografische Verfahren. ( Src ) Boost make
gnutls Eine sichere Kommunikationsbibliothek, die die SSL-, TLS- und DTLS-Protokolle sowie verwandte Technologien implementiert. ( Src ) LGPL-2.1 make
openssl Ein robustes, kommerziell einsetzbares, umfassendes Toolkit für allgemeine Kryptografie und sichere Kommunikation. ( Src ) Apache-2.0 make
TomCrypt Ein umfassendes, modulares und portables kryptografisches Toolkit, das Entwicklern eine Vielzahl bekannter Blockchiffren, Einweg-Hashfunktionen, Betriebsmodi, Pseudozufallszahlengeneratoren, Public-Key-Kryptografie und zahlreiche weitere Routinen bietet. ( Src ) public domain cmake, make

Datenbanken

Bibliothek Beschreibung Lizenz Konfiguration
Boost::MySQL MySQL-Client-Bibliothek BSL-1.0
cpp-redis C++11 Leichtgewichtiger Redis-Client: asynchron, thread-sicher, ohne Abhängigkeiten, Pipelining, Multi-Plattform. ( Dokumentation ) MIT cmake
DTL Lässt ODBC-Recordsets wie einen STL-Container erscheinen ( Src ) ( Doc )
EasyQtSql Eine leichtgewichtige C++11 (Qt-basierte) Bibliothek für schnelles und einfaches SQL-Abfragen MIT Nur-Header; qmake
Galera Der Galera Cluster ist die synchrone Multi-Master-Replikationsbibliothek (Galera) und eine Write Set Replication (WSREP) API für MySQL/MariaDB ( Src ) GPLv2 cmake, scons
LevelDB Eine von Google entwickelte C++-Bibliothek, die die persistente Speicherung von Key-Value-Daten im Milliardenbereich verwaltet. ( Dokumentation ) BSD-3 cmake
libpqxx Der C++-Connector für PostgreSQL ( Src ) BSD-3 cmake, make
lmdb++ C++11-Wrapper für die LMDB Embedded B+ Tree Datenbankbibliothek. Unlicense make
mongocxx Eine offizielle C++11-Treiberbibliothek für MongoDB ( Dokumentation ). Sie bietet optimierte APIs für CRUD-Operationen, Indizierung und Aggregation. Mit BSON-Unterstützung und Merkmalen wie Verbindungspooling und Authentifizierungsmechanismen bietet sie hochperformante und skalierbare Lösungen für die Entwicklung von C++-Anwendungen, die MongoDB nutzen. Apache 2.0 cmake
mysql++ MySQL-Datenbank und Tools
nanodbc Ein kleines, plattformübergreifendes C++14-Wrapper für die native C-ODBC-API MIT cmake
ODB Ein Open-Source, plattformübergreifendes und datenbankunabhängiges objektrelationales Abbildungssystem (ORM) für C++. ODB unterstützt MySQL, SQLite, PostgreSQL, Oracle und Microsoft SQL Server relationale Datenbanken sowie C++98/03 und C++11 Sprachstandards. GPL2 und/oder NCUEL
OTL Eine C++ template-basierte Datenbankbibliothek für Oracle DB, ODBC und DB2-CLI. ( Quellcode )
Pgfe Die PostgreSQL-Client (FrontEnd)-API in modernem C++ Zlib cmake
QTL Eine benutzerfreundliche und leichtgewichtige C++-Datenbankbibliothek für MySQL, SQLite und ODBC. Apache-2.0 make
QUINCE QU eries IN C ++ E xpressions (ORM+EDSL) Boost
QxOrm Eine O bjekt- R elations- M apping (ORM)-Datenbankbibliothek für C++/Qt, unterstützt die gängigsten Datenbanken, Serialisierung (JSON, binär, XML); eigenständiger mehrthreadfähiger HTTP-Webserver GPLv3 oder proprietär
redis-cpp Eine schlanke C++17-Client-Bibliothek zur Ausführung von Redis-Befehlen. MIT Nur-Header; cmake
redis-plus-plus Ein in C++ 11 geschriebener Redis-Client, der Redis Sentinel, Redis Cluster, Pipeline, Transaktionen, Pub/Sub, Verbindungspool und eine STL-ähnliche Schnittstelle unterstützt Apache-2.0 cmake
SOCI Eine plugin-basierte Datenbankbibliothek, die SQL-Abfragen in regulären C++-Code einbettet; unterstützte Backends umfassen: DB2, Firebird, MySQL, ODBC (generisches Backend), Oracle, PostgreSQL, SQLite3. ( Src ) ( Doc ) Boost cmake
SQLAPI++ Eine Middleware C++ Datenbankbibliothek, die mehrere SQL-Datenbanksysteme unterstützt: Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, SQLite, Informix, InterBase / Firebird, SQLBase, SQL Anywhere, ODBC, MariaDB. ( Quell ) ( Dok ) Benutzerdefiniert make
SQLiteCPP Eine schlanke und einfach zu verwendende C++ SQLite3-Wrapper-Bibliothek. MIT cmake, meson, vcpkg
SQLite ORM Eine E ingebettete D omain- S pezifische S prache (EDSL) für SQL, wie von SQLite verstanden, für modernes C++. AGPL-3.0, MIT Nur-Header; cmake, vcpkg
sqlpp11 Eine typsichere eingebettete domänenspezifische Sprache für SQL-Abfragen und Ergebnisse in C++. BSD-2 cmake
taoPQ Eine schlanke C++17 PostgreSQL-Client-Bibliothek Boost cmake

Eingebettete Sprachbindungen

Bibliothek Beschreibung Lizenz Konfiguration
AngelScript Eine C++-ähnliche Skriptsprache. ZLib
ChaiScript Eine einfach zu verwendende eingebettete Skriptsprache für C++. BSD-3-Clause
cling Ein interaktiver C++-Interpreter, basierend auf Clang und LLVM für RAD, Erstellung von Skripten, eingebettetes Skripting und Laufzeitcode-Generierung. ( Src ) Custom / LGPL cmake
ExprTk Ein einfach zu verwendender, leicht zu integrierender und äußerst effizienter mathematischer Ausdrucksparser und Auswertungsmotor zur Laufzeit. ExprTk unterstützt zahlreiche Formen funktionaler, logischer und vektorieller Verarbeitungssemantiken und ist sehr einfach erweiterbar.
Jinx Eine für Videospiele entwickelte Skriptsprache. MIT cmake
spidermonkey.dev Mozillas JavaScript- und WebAssembly-Engine.
muparser Eine erweiterbare Hochleistungs-Mathematikausdrucksparser-Bibliothek in C++. BSD-2-Clause cmake
PythonQt Eine dynamische Python-Bindung für das Qt-Framework. Bietet eine einfache Möglichkeit, die Python-Skriptsprache in C++ Qt-Anwendungen einzubetten. LGPL 2.1
lua Eine leichtgewichtige Multi-Paradigma-Skriptsprache, die primär für eingebettete Verwendung entwickelt wurde. C-Bibliothek. MIT make
sol2 Eine moderne C++-Bibliothek zur Bindung an Lua. MIT header-only; cmake
v8pp Bindet C++-Funktionen und Klassen in die V8 JavaScript-Engine ein. BSL-1.0 header-only; cmake

Embedded/Realtime

Bibliothek Beschreibung Lizenz Konfiguration
distortos Ein objektorientiertes C++11 RTOS für Mikrocontroller (ARM, STM32) ( Src ) ( Doc ) MPL-2.0 cmake
ETL E mbedded T emplate L ibrary - C++03, Portierbare Template-Bibliothek für ressourcenbeschränkte (eingebettete) Plattformen ( Src ) MIT
QP/C++ RTOS-Kernel: Echtzeit-Eingebettete Frameworks basierend auf aktiven Objekten & Zustandsautomaten GPLv3
µcuREST C++11 REST/JSON Server-Framework für Mikrocontroller

Dateimetadaten

Bibliothek Beschreibung Lizenz Konfiguration
exempi
exiv2
libkexiv2
rarian

Finanzielle Berechnungen

Bibliothek Beschreibung Lizenz Konfiguration
DataFrame Ein C++ DataFrame für statistische, finanzielle und ML-Analysen – in modernem C++ mit nativen Typen und kontinuierlicher Speicherverwaltung BSD-3-Clause cmake, make, conan
QuantLib Eine Quantitative-Finance-Bibliothek - Eine freie/Open-Source-Bibliothek für quantitative Finanzanalyse modified BSD

Spiel-Engine-Architektur

Bibliothek Beschreibung Lizenz Konfiguration
Anax Ein Open-Source C++ Entity-System MIT cmake
Anura Eine vollständige Spiel-Engine und die Technologie hinter Frogatto & Friends . Benutzerdefiniert Open Source make, vcpkg
BOX2D Eine Physik-Engine MIT cmake
EntityPlus Ein C++17 Entity-Component-System BSD-1.0 cmake
EntityX Ein schnelles, typsicheres C++ Entity-Component-System MIT cmake
EnTT Eine kleine Bibliothek für Spieleentwicklung und mehr, geschrieben in modernem C++ MIT header-only; cmake, bazel, conan, vcpkg, brew, cppget

Allgemeine Multimedia

Bibliothek Beschreibung Lizenz Konfiguration
Kigs-framework Ein modulares Mehrzweck-Cross-Platform-Framework MIT
openFrameworks MIT
SDL S imple D irectMedia L ayer: Ein Cross-Platform-Framework (Windows, macOS, Linux, iOS, Android und andere) mit niedrigstufigem Zugriff auf Audio, Tastatur, Maus, Joystick und Grafikhardware über die Grafik-API der Plattform (OpenGL/Direct3D/Metal/Vulkan) ( Doc ) ( Src ) zlib cmake
SFML S imple and F ast M ultimedia L ibrary; Multiplattform (Windows, Linux, macOS und bald Android & iOS); bietet eine einfache Schnittstelle zur Erleichterung der Entwicklung von Spielen und Multimedia-Anwendungen. Besteht aus fünf Modulen: System, Fenster, Grafik (über OpenGL), Audio und Netzwerk. zlib/png cmake
SIGIL S ound, I nput, and G raphics I ntegration L ibrary; Eine einfache, plattformübergreifende, minimalistische Bibliothek für Text, Formen, Eingabe, Audio und 2D-Bilder. Unterstützte Plattformen: Windows, Linux und Raspberry Pi Lizenz cmake

Generisch

Bibliothek Beschreibung Lizenz Konfiguration
Abseil Eine Open-Source-Sammlung von C++-Bibliothekscode von Google, entwickelt zur Erweiterung der C++-Standardbibliothek. ( Dok ) ( Quell ) Apache-2.0 cmake
Abstract Intrusive Containers Flexibler als Boost.Intrusive , aber nicht STL-kompatibel.
Au Eine C++14-kompatible physikalische Einheitenbibliothek ohne Abhängigkeiten mit Schwerpunkt auf Sicherheit, Zugänglichkeit und Leistung. ( Dokumentation ) Apache 2.0 Nur Header
BDE Die Bloomberg Development Environment-Kernbibliotheken von Bloomberg L.P. Apache
Better Enums Reflektive Aufzählungen (enum zu string, Iteration, etc.) mit constexpr-Unterstützung. BSD-2 Nur Header, cmake, make
bitfield.h Bit-Feld-Struktur-Funktionalität, portabler/flexibler als die Basissprachen-Funktionalität.
Boost Eine umfangreiche Sammlung generischer Bibliotheken BSL-1.0
CAF Das C++ Actor Framework (CAF) ist eine Open-Source C++11 Actor-Modell-Implementierung mit leichtgewichtigen & schnellen Actor-Implementierungen, Pattern Matching für Nachrichten, netzwerktransparentem Messaging und mehr BSD
Cinder Eine gemeinschaftlich entwickelte, kostenlose und quelloffene Bibliothek für professionelle kreative Programmierung in C++. ( Dokumentation ) ( Quellcode ) Modifiziertes BSD cmake
CommonPP Eine Mehrzweckbibliothek mit starkem Fokus auf das Erfassen von Metriken aus einem Projekt. BSD
composite_op.h Grundlegende Introspektion von Klassen-Datenmitgliedern, umständlich und oft nicht wiedereintrittsfähig, aber manchmal nützlich.
cpp-mmf Eine C++98-Bibliothek, die speichergemappte Dateien für POSIX oder Windows kapselt
cxxomfort Backports von C++-Funktionen (C++11 zu C++03 und C++1y-Vorschläge zu C++11/C++03).
Dlib Netzwerke, Threads, grafische Benutzeroberflächen, Datenstrukturen, lineare Algebra, maschinelles Lernen, XML- und Textverarbeitung, numerische Optimierung, Bayes'sche Netze und zahlreiche weitere Aufgaben Boost
eventpp Eine C++-Ereignisbibliothek für Callbacks, Ereignisverteiler und Ereigniswarteschlange. Mit eventpp können Sie einfach Signal- und Slot-Mechanismen, Publisher- und Subscriber-Muster oder Beobachtermuster implementieren. Apache 2.0
fcppt Freundlichs C++ Toolkit (fcppt) ist eine Sammlung von Bibliotheken, die sich darauf konzentrieren, allgemeinen C++-Code durch Bereitstellung besserer Typen und Nutzung funktionaler Programmierung zu verbessern.
Folly Facebook Open-Source-Bibliothek. Eine plattformübergreifende Bibliothek von C++14-Komponenten, die mit Blick auf Praktikabilität und Effizienz entwickelt wurde. ( Dokumentation ) Apache-2.0 cmake, vcpkg
GSL C++ Core G uidelines S upport L ibrary-Implementierung, empfohlen von Bjarne Stroustrup, Herb Sutter und Co in den C++ Core Guidelines MIT cmake, vcpkg
gsl-lite Eine Version der ISO C++ Guideline Support Library (GSL) für C++98, C++11 und höher MIT Nur Header
GUL14 Allgemeine Utility-Bibliothek für C++14 von DESY : Häufig verwendete Utility-Funktionen und Typen, einschließlich String-Utilities, Statistik- und numerische Funktionen, Container, Debugging-Mittel, etc. ( Quellcode ) LGPL-2.1 meson, vcpkg
History Modernes C++17 Rückgängig/Wiederherstellen Framework Unlicense
hspp Eine experimentelle Bibliothek, um Haskell-Stil Programmierung nach C++ zu bringen. Apache-2.0 Nur-Header
IP-DOS (tm) IdeaFarm (tm) Piggyback Distributed Operating System: Eine allgemeine Programmierumgebung für die C++ Sprache. Proprietäre Open Source Open Watcom 2.0
JUCE Ein umfangreiches, ausgereiftes, plattformübergreifendes C++-Toolkit GPL
Kangaru Ein Dependency Injection Container für C++11 und C++14 MIT
Kerbal Backports moderner STL-Funktionalitäten zu früheren Standards. Mehr Funktionen! Mehr constexpr! LGPL-3.0 Nur Header; cmake
libsourcey Eine plattformübergreifende C++14-Bibliothek für Hochgeschwindigkeits-Netzwerke und Medienkodierung. HTTP, WebSockets, TURN, STUN, Symple und mehr. LGPL-2.1 cmake
LLNL/units Eine Laufzeit-C++-Bibliothek für das Arbeiten mit Maßeinheiten und Umrechnungen zwischen diesen sowie mit String-Repräsentationen von Einheiten und Messungen BSD 3-Clause "New" or "Revised" cmake
Loki Eine C++-Bibliothek von Entwurfsmustern, die flexible Implementierungen gängiger Entwurfsmuster und Idiome enthält. MIT make
match(it) Eine leichtgewichtige Pattern-Matching-Bibliothek für C++17 mit makrofreien APIs. Apache-2.0 Nur-Header
nonstd-lite Eine Liste von *-lite-Repositories (z.B. span-lite , scope-lite , expected-lite ) mit C++98/11-Implementierungen einiger vorgeschlagener oder bereits standardisierter C++17/20/23-Bibliothekstypen, wie std::span , std::expected usw. BSL-1.0 header-only
nytl Eine generische C++17 Utility-Template-Bibliothek. BSL-1.0 Nur-Header
OnPosix C++-Bibliothek, die mehrere Abstraktionen (z.B. Threading, Networking, Logging, IPC, etc.) auf POSIX-Plattformen bereitstellt.
Reason XML, XPath, Regex, Threads, Sockets, HTTP, SQL, Datum-Uhrzeit, Streams, Kodierung und Dekodierung, Dateisystem, Komprimierung GPL
SaferCPlusPlus Sichere kompatible Ersatzlösungen für unsichere C++-Primitive, einschließlich Zeiger, int und std::vector . Boost
Smart Enum to_string , from_string und mehr für Ihre Enums. BSL-1.0 cmake
units Eine Compile-Time-Dimensionsanalyse und Einheitenumrechnungsbibliothek, basierend auf C++14 ohne Abhängigkeiten MIT Nur-Header
yaal Y et A nother A bstraction L ayer - Algorithmen, Sammlungen, Berechnungen mit beliebiger Genauigkeit, generische DSL-grammatikgesteuerte Parser und mehr CC BY-ND-NC 4.0 cmake
Yato Eine moderne C++(14/17) plattformübergreifende STL-orientierte und STL-kompatible Bibliothek mit Implementierung von Containern, Ranges, Iteratoren, Type Traits und anderen Werkzeugen; Actors System; typsichere Konfigurationsschnittstelle. Apache-2.0 cmake
yomm2 Offene Multi-Methoden für C++17 Boost
zoolib ZooLib ist ein funktionsreiches C++-Toolkit. MIT

GPS

Bibliothek Beschreibung Lizenz Konfiguration
gpsd Eine quelloffene, plattformübergreifende (Linux/Unix/BSD-Varianten, einschließlich Android und OS X) GPS-fähige Sammlung von Werkzeugen, wie z.B. ein Übersetzer- und Replikator-Daemon für GPS-Geräte, AIS-Funkgeräte und andere Navigationssensoren. gpsd ist hauptsächlich in C und Python geschrieben, verfügt aber auch über einen C++-Wrapper. gpsd ist allgegenwärtig in mobilen eingebetteten Systemen. Jede positionsbezogene Android-App ist indirekt ein gpsd -Client. ( Dokumentation ) ( Quelle ) BSD 2-clause scons

Grafische Benutzeroberfläche

Bibliothek Beschreibung Lizenz Konfiguration
Brisk Plattformübergreifendes C++20 modulares GUI-Framework mit reaktiven Fähigkeiten und skalierbarem, GPU-beschleunigtem Rendering. ( Src ), ( Doc ) GPL2+/Proprietär cmake, vcpkg
Dear ImGui Eine schlanke GUI-Bibliothek für C++ mit minimalen Abhängigkeiten, portabel, render-unabhängig, optimiert für den Einsatz in 3D-Pipeline-fähigen Anwendungen. MIT vcpkg
FLTK Ein plattformübergreifendes C++ GUI-Toolkit (Linux, Windows, MacOS), das moderne GUI-Funktionalität bietet und 3D-Grafiken über OpenGL/GLUT unterstützt. Entwickelt, um klein und modular zu sein. Enthält einen UI-Builder. LGPL Ver.2
nana Plattformübergreifende GUI-Programmierung im modernen C++-Stil. ( Src ), ( Doc ) BSL-1.0 cmake, vcpkg
nanogui Eine minimalistische plattformübergreifende Widget-Bibliothek für OpenGL 3.x oder höher ( Doc )
OWLNext Modernes Update von OWL zum Schreiben von GUI-Anwendungen in Standard-C++ unter Windows
Slint Ein deklaratives GUI-Toolkit zum Erstellen nativer Benutzeroberflächen für Desktop, Embedded und Mikrocontroller. ( Src ), ( Doc ) GPL 3, Lizenzgebührenfrei , oder Kommerziell cmake
tiny file dialogs Ein Satz von C/C++ plattformübergreifenden Dateidialogen (keine Initialisierung, keine Hauptschleife, 6 modale Funktionsaufrufe) Nur Header
U++ Ein plattformübergreifendes (Windows, GNU/Linux, macOS) Rapid Application Development Framework mit gebündelter IDE. C++17 kompatibel. ( Doc ) ( Src ) BSD-3-Clause make
WxWidgets Ein freies und quelloffenes plattformübergreifendes (Windows, GNU/Linux, macOS) C++-Framework zum Schreiben erweiterter GUI-Anwendungen mit nativen Steuerelementen. ( Doc ) Modifizierte LGPL cmake, make
xtd Ein modernes C++17/20-Framework zum Erstellen von Konsolen-, GUI- und Unit-Test-Anwendungen auf Windows, macOS, Linux, iOS und Android. ( Src ) ( Doc ) MIT cmake

CopperSpice
Bibliothek Beschreibung Lizenz Konfiguration
CopperSpice Eine Sammlung von C++-Bibliotheken zur Entwicklung plattformübergreifender Softwareanwendungen. Es verwendet modernes idiomatisches C++ und integriert sich nahtlos mit der STL. CopperSpice wurde vom Qt-Framework abgeleitet. ( Doc ) ( Src ) LGPL-2.1 cmake
CsSignal Eine eigenständige C++-Signale/Slots-Bibliothek mit Thread-Unterstützung LGPL-2.1 cmake
CsString Eine eigenständige C++-Unicode-fähige String-Bibliothek LGPL-2.1 cmake
libGuarded Eine eigenständige C++-Multithreading-Bibliothek zur Verwaltung des Zugriffs auf gemeinsame Daten LGPL-2.1 cmake

GTK+
Bibliothek Beschreibung Lizenz Konfiguration
evince
flowcanvas
glibmm
goocanvasmm
gtkmm Eine plattformübergreifende C++-Schnittstelle für die GTK+ GUI-Bibliothek. LGPL
libglademm
libgnomecanvasmm
webkitgtk

Qt
Bibliothek Beschreibung Lizenz Konfiguration
libdbusmenu-qt Eine kleine Bibliothek, die entwickelt wurde, um das Teilen und Anzeigen von Menüstrukturen über DBus einfach und benutzerfreundlich zu gestalten. Sie funktioniert sowohl für QT als auch GTK+ und erleichtert den Aufbau von Menüs.
Qt ( Doc ) ( Src )
QuickQanava Eine C++14 Netzwerk-/Graph-Visualisierungsbibliothek / Qt Node Editor. BSD 2.0 cmake
qwt5 Qt Widgets für technische Anwendungen
qwtplot3d

U++
Bibliothek Beschreibung Lizenz Konfiguration
U++ Ein C++ Cross-Platform Rapid Application Development Framework mit Fokus auf Programmiererproduktivität. Enthält eine Sammlung von Bibliotheken (GUI, SQL, etc.) und eine integrierte Entwicklungsumgebung. ( Src/Bin ) BSD
upp-components Eine Sammlung von Drittanbieter-Paketen für U++ wie TerminalCtrl , MessageCtrl etc. BSD-3-Clause

Grafik

Bibliothek Beschreibung Lizenz Konfiguration
bgfx Eine leistungsstarke plattformübergreifende (Windows, Mac, Linux, iOS, Android, Web) 2D/3D-Grafikrendering-Bibliothek mit Shader-Unterstützung und Rendering-Backends: DX, OpenGL, Metal, WebGL, Vulkan etc. ( Dokumentation ) BSD-2 make
cairomm Ein C++-Wrapper für die cairo-Grafikbibliothek , eine 2D-Bibliothek mit Unterstützung für mehrere Ausgabegeräte: X Window, Quartz, Win32, Bildpuffer, PostScript, PDF, SVG, OpenGL (experimentell). LGPL
dfpsr Ein 2D-, 3D- und isometrischer Software-Renderer mit Desktop-GUI-Toolkit, minimalen Abhängigkeiten, entwickelt für langfristige Wartung und kann ohne 3D-beschleunigte Treiber laufen zlib
gegl Ge nerische G rafik- L ibrary (GEGL) ist ein datenflussbasiertes Bildverarbeitungsframework mit Gleitkommaverarbeitung und zerstörungsfreier Bildbearbeitung. ( Quellcode ) LGPL
io2d Eine Referenzimplementierung von P0267 , der vorgeschlagenen 2D-Grafik-API für ISO C++ BSL-1.0 cmake
nanovg Eine antialiasierte 2D-Vektorgrafikbibliothek in C auf Basis von OpenGL für UI und Visualisierungen, mit Portierungen zu DX11/Metal/bgfx. zlib
nux Ein OpenGL-Toolkit LGPL v3
pangomm Die offizielle C++-Schnittstelle für die Pango -Schriftlayout-Bibliothek. ( Quellcode ) LGPL v2.1 make
Skia Eine quelloffene 2D-Grafikbibliothek geschrieben in C++. Skia Graphics Engine wird verwendet in Google Chrome, Chrome OS, Mozilla Firefox, Android, LibreOffice, Flutter, etc. Skia hat mehrere Backends: Software-Rasterisierung, (PDF)-Ausgabe, OpenGL, SVG, etc. New BSD
TXLib TX Library ist eine kleine 2D-Grafikbibliothek für Win32 geschrieben in C++.
ULIS Eine plattformübergreifende C++14-Bibliothek für generische digitale Bildverarbeitung, 2D-Software-Rasterizer, unbegrenzte Bildformate ( u8 , u16 , u32 , float , double ), Benutzerdefinierte Bit-geordnete Speicherlayouts, Alle Photoshop-Pixel-Mischmodi + 11 zusätzliche Modi, Farbmodelle (RGB, HSL, HSV, CMYK, ...), Farbverwaltete Pipelines, Farbraumunterstützung (icm-Profile und geräteunabhängig), Optimierte Algorithmen mit Multithreading, Optimierte Algorithmen mit SIMD-Erweiterungen (SSE2), Bildpools und Caches für Optimierungen, Speicherung von animierten Bildsequenzen. Benutzerdefiniert (kostenlos nur für nicht-kommerzielle Zwecke) cmake

Grafik (3D)

Bibliothek Beschreibung Lizenz Konfiguration
assimp 3D-Modell-Laden BSD-3 cmake, vcpkg
bgfx Eine plattformübergreifende, grafik-API-unabhängige Rendering-Bibliothek im "Bring Your Own Engine/Framework"-Stil. BSD-2 make, vcpkg
Diligent Engine Eine moderne plattformübergreifende Low-Level-3D-Grafikbibliothek. Apache-2.0 cmake
Epoxy Ein moderner Nachfolger von GLEW. Abstrahiert Unterschiede zwischen verschiedenen Arten von GL-Kontexten, was es manchmal einfacher zu verwenden macht als GLEW. Wird vom GTK+-Projekt seit 2015 verwendet. MIT meson, vcpkg
G3D Die G3D Innovation Engine ist eine voll ausgestattete, quelloffene, plattformübergreifende (Windows, Linux, Mac OS) 3D-Spiele-Engine, geschrieben in C/C++. G3D wird in kommerziellen Spielen, Forschungsarbeiten, Simulatoren und Universitätskursen eingesetzt. Sie unterstützt Echtzeit- und Offline-Hardware-Rendering, Raytracing, Modellladung, lineare Algebra und GP-Berechnungen auf GPUs. Unterstützt 3DS, OBJ, MP4, PNG, JPG, MD3 und viele weitere Formate, beinhaltet eine native OpenGL-anpassbare GUI. ( Src ) ( Doc ) BSD-2
GLAD Eine anpassbare, leichtgewichtige Bibliothek zum Laden von OpenGL-Funktionen
GLEW Ein OpenGL-Funktionen-Lader ( Quellcode ) EXTGL/BSD/MIT make, vcpkg
GLFW Ein OpenGL-Fenster-Manager ( Quellcode ) ( Dokumentation ) zlib/libpng cmake, vcpkg
GLM Die Open GL M athematics (GLM) ist eine C++ Mathematikbibliothek für Grafiksoftware basierend auf der GLSL Spezifikation. The Happy Bunny /
MIT
Nur Header; cmake, vcpkg
Godot Eine vollständige Multiplattform-2D- und 3D-Spiele-Engine in C++17 mit einem in sich selbst geschriebenen GUI-Editor und einer Python-inspirierten Skriptsprache. MIT scons
hlsl++ Eine C++-Mathematikbibliothek für Rendering mit HLSL-Syntax. Unterstützt SSE und NEON MIT Nur Header
Horde3D Eine kleine Open-Source-3D-Rendering-Engine. Sie wurde entwickelt, um eine Grafik-Engine zu schaffen, die atemberaubende visuelle Effekte bietet, wie sie in Next-Generation-Spielen erwartet werden, dabei jedoch möglichst leichtgewichtig und sauber ist. EPL
Irrlicht Die Irrlicht Engine ist eine Open-Source Echtzeit-3D-Engine, geschrieben in C++. Sie ist plattformübergreifend und verwendet D3D, OpenGL und eigene Software-Renderer. zlib/libpng make, vcpkg
klein Eine C++11/14/17 SSE-optimierte projektive geometrische Algebra-Bibliothek für Grafik und Animation MIT cmake, vcpkg
Magnum Eine schlanke und modulare C++11/C++14-Grafik-Middleware für Spiele und Datenvisualisierung ( Quellcode ) Benutzerdefiniert cmake
O3DE Die O pen-Source- 3D E ngine (ehemals Amazons Lumberyard) ist eine C++ Multiplattform-3D-Engine zur Entwicklung von AAA-Spielen, kinoreifen 3D-Welten und hochpräzisen Simulationen. Bietet Physiksimulation, Skript-Engine, Netzwerkfunktionen und mehr . ( Dokumentation ) Apache 2.0 cmake
Ogre3D OGRE ist eine objektorientierte Grafik-Rendering-Engine - eine vielseitige Visualisierungsbibliothek, geeignet für wissenschaftliche Visualisierung, Spiele, Simulation, virtuelle Realität und andere Grafikprojekte. Sie ist plattformübergreifend und sehr robust, mit einer guten Dokumentation. MIT cmake, vcpkg
Open CASCADE SDK für 3D CAD/CAM/CAE-Anwendungen ( Src ) LGPL-2.1 cmake
OpenGL 3D-Sprache, Grafik und SDK zur Entwicklung von 3D-Anwendungen. Khronos (MIT)
OpenSceneGraph OpenSceneGraph ist ein quelloffenes High-Performance-3D-Grafik-Toolkit, das von Anwendungsentwicklern in Bereichen wie visuelle Simulation, Spiele, virtuelle Realität, wissenschaftliche Visualisierung und Modellierung verwendet wird. ( Src ) ( Doc ) Custom,
GNU LGPL
cmake, vcpkg
Visionaray Eine C++ Raytracing-Template-Bibliothek. MIT cmake
VTK Visualization Toolkit (VTK) ist eine Open-Source-Software zur Bearbeitung und Darstellung wissenschaftlicher Daten. Es bietet modernste Werkzeuge für 3D-Rendering, eine Suite von Widgets für 3D-Interaktion und umfangreiche 2D-Plotting-Fähigkeiten. BSD-3 cmake, vcpkg
Vulkan Eine Low-Level-API, die viele der Abstraktionen früherer Grafik-APIs entfernt. Dies ist ideal für maximale Leistung, hat jedoch den Nebeneffekt, dass mehr Komplexität für den Entwickler sichtbar wird. Glücklicherweise existieren mehrere ausgezeichnete Tutorials, die helfen, diese Hürde zu überwinden und schnell produktiv zu werden. Khronos (MIT) make, vcpkg

Bilder

Bibliothek Beschreibung Lizenz Konfiguration
Adobe/boost GIL Eine hochwertige generische Bibliothek, die sich auf Algorithmen für 2D-Bilder konzentriert. Sehr begrenzte E/A-Optionen. BSL-1.0
agge Anti-Grain Evolution. Eine 2D-Grafik-Engine für Geschwindigkeit und Qualität in C++ MIT cmake
FreeImage Ein Open-Source-Bibliotheksprojekt für Entwickler, die gängige Grafikbildformate wie PNG, BMP, JPEG, TIFF und andere unterstützen möchten GPLv2, GPLv3, FIPL
FreeImageRe Ein Fork der Open-Source-Bibliothek FreeImage v3.18 zur Unterstützung von Bildcodec-Updates und Anpassung für komfortable Nutzung. Alle ursprünglichen Formate und Plugins werden beibehalten. GPLv2, GPLv3, FIPL cmake
GraphicsMagick Lesen, Schreiben und Bearbeiten von Bildern in über 88 Hauptformaten. 2002 von ImageMagick geforkt Copyright Mercurial
SAIL Lesen und Schreiben von statischen, animierten, mehrseitigen Bildern zusammen mit ihren Metadaten und ICC-Profilen. Konvertierungsfähigkeiten. Zielsetzung: Einfachheit und Geschwindigkeit. MIT cmake
stb Eine Sammlung von C/C++-Bibliotheken für die Spieleentwicklung mit Bildlader/-schreiber/-skalierer, Font-Text-Rasterizer, typsicheren Containern, Ogg-Vorbis-Decoder, Echtzeit-DXT-Kompressor, Perlin-Noise-Generator, Lexer für pet DSLs, schnellem sprintf und mehr. MIT, Custom header-only
ThorVG Thor Vector Graphics ist eine leichtgewichtige portable Bibliothek zum Zeichnen vektorbasierter Szenen und Animationen einschließlich SVG und Lottie. Sie kann frei über verschiedene Softwareplattformen und Anwendungen hinweg genutzt werden, um grafische Inhalte zu visualisieren. ( Src ) MIT conan, meson, msys2, vcpkg

Formate
Bibliothek Beschreibung Lizenz Konfiguration
djvulibre
imagemagick
Kaitai Struct C++ runtime
libraw
openexr
poppler
qimageblitz
SVG++

Darstellung
Bibliothek Beschreibung Lizenz Konfiguration
Matplot++ Eine auf gnuplot basierende C++-Grafikbibliothek für Datenvisualisierung. Matplot++ kann folgende Bibliotheken nutzen: OpenCV, OpenGL, LAPACK, BLAS, FFTW, JPEG, TIFF, ZLIB, PNG, GLAD, GLFW3. ( Dokumentation ) MIT cmake
plotutils Das GNU- plotutils -Paket enthält libplot , eine C/C++-Bibliothek zum Exportieren von 2D-Vektorgrafiken in vielen Dateiformaten, sowohl Vektor- als auch Bitmap-Formate. libplot kann 2D-Vektorgrafiken animieren und verwendet eine Postscript-ähnliche API für Dateiexport und Grafikanimationen. GPL
sciplot Eine moderne C++-Wissenschaftliche Plot-Bibliothek, betrieben von gnuplot , mit Export nach PDF, SVG, PNG, EPS, etc. MIT header-only; cmake, vcpkg

Bildverarbeitung

Bibliothek Beschreibung Lizenz Konfiguration
dlib
Halide Eine in C++ eingebettete DSL für hochleistungsfähige Verarbeitung von Bildern und Tensoren. MIT cmake, vcpkg
ITK - Insight Toolkit ITK ist eine quelloffene, plattformübergreifende Bibliothek, die Entwicklern eine umfangreiche Sammlung von Softwarewerkzeugen für die Bildanalyse bietet. Entwickelt durch extreme Programmiermethodologien, baut ITK auf einer bewährten, räumlich orientierten Architektur zur Verarbeitung, Segmentierung und Registrierung wissenschaftlicher Bilder in zwei, drei oder mehr Dimensionen auf. Apache 2.0 cmake
opencv
OTB

Internationalisierung

Bibliothek Beschreibung Lizenz Konfiguration
gettext GNU-Internationalisierungsbibliothek. GPL make
ICU I nternational C omponents for U nicode ist eine ausgereifte, weit verbreitete Sammlung von C/C++-Bibliotheken, die Unicode- und Globalisierungsunterstützung für Softwareanwendungen bereitstellt. ( Src ) icu4c/LICENSE make
spirit-po Eine kleine Bibliothek, die PO-Dateien parst und eine ähnliche Schnittstelle wie GNU libintl bereitstellt. Basierend auf boost::spirit. BSL-1.0 header-only
uni-algo Unicode-Algorithmen-Implementierung für C/C++ MIT/Unlicense cmake, conan, vcpkg

Logging

Bibliothek Beschreibung Lizenz Konfiguration
Backward Anzeige ansprechender Python-artiger Stack-Traces mit Farben und Quellcode-Ausschnitten, insbesondere bei Abstürzen. MIT Nur-Header; cmake, conan
Boost.Log Eine plattformübergreifende Logging-Bibliothek, die einfach zu verwenden, erweiterbar und leistungsstark ist. BSL-1.0
clutchlog Einzel-Header-Logging-System, das auf vielseitiges DEBUGGING anstatt auf Dienst-Event-Speicherung abzielt. BSD cmake
cpptrace Einfache, portable und eigenständige Stacktrace-Bibliothek für C++11 und neuer. Enthält signal-sichere Stack-Traces, Stack-Traces bei Exceptions, Quellcode-Ausschnitte usw. MIT cmake, conan, vcpkg
glog Google Logging Library für C++98 basierend auf C++-Streams Lizenz bazel, cmake, vcpkg
libassert Funktionsreiche Assertion-Bibliothek für C++ mit hochwertigen Diagnosen bei Assertion-Fehlern. MIT cmake, conan, vcpkg
Log4cplus Plattformübergreifende, C++17 Logging-API (nach Java log4j API modelliert), die threadsichere, flexible und beliebig granulare Kontrolle über Log-Verwaltung und Konfiguration bietet. BSD (zwei Klauseln) oder Apache 2.0 Autotools, cmake, Visual Studio
Log4cpp Eine Bibliothek von C++-Klassen für flexibles Logging in Dateien, Syslog, IDSA und andere Ziele. LGPL
log4cxx Apache log4cxx ist ein Logging-Framework für C++, das nach Apache log4j modelliert wurde. ( Quellcode ) Apache cmake
lwlog Eine extrem schnelle synchrone und asynchrone C++17-Logging-Bibliothek MIT cmake
Pantheios Eine diagnostische Logging-API-Bibliothek, die Typsicherheit, Effizienz, Generalität und Erweiterbarkeit kombiniert BSD-Stil
plog Ein portabler und einfacher Log für C++ in weniger als 1000 Codezeilen MPL-2.0
Quill Eine plattformübergreifende, C++14 Asynchrone Low Latency Logging-Bibliothek MIT cmake
spdlog Eine extrem schnelle C++-Logging-Bibliothek MIT Nur-Header; cmake, conan

Fehlerbehandlung

Bibliothek Beschreibung Lizenz Konfiguration
Boost.LEAF Eine leichtgewichtige Fehlerbehandlungsbibliothek für C++11: Single-Header-Format, keine Abhängigkeiten, keine dynamischen Speicherallokationen, kann mit oder ohne Exception-Handling verwendet werden, multithreading-fähig. ( Quellcode ) BSL-1.0 header-only, cmake

Mathematik

Bibliothek Beschreibung Lizenz Konfiguration
alglib ALGLIB ist eine plattformübergreifende (Windows/POSIX/Linux) Bibliothek für numerische Analyse und Datenverarbeitung. ALGLIB-Funktionen umfassen: Datenanalyse, Optimierung und nichtlineare Löser, Interpolation, Lineare Algebra und lineare Löser, FFT und viele weitere. Kostenlos (GPL/Privat/Akademisch) und Kommerziell
ArrayFire Eine plattformübergreifende (Windows/OSX/Linux) Allzweck-HPC (CPU/GPU/OpenCL/CUDA/GPGPU) Bibliothek für paralleles Rechnen. ArrayFire-Bereiche sind: Vektoralgorithmen, Bildverarbeitung, Computer Vision, Signalverarbeitung, Lineare Algebra, Statistik und mehr. ( Src ) Benutzerdefiniert
Boost.Math Enthält mehrere Beiträge im Bereich der Mathematik: Fließkomma-Utilities, Mathematische Konstanten, Statistische Verteilungen und Funktionen, Statistik, Vektorfunktionale - Normen, Spezielle Funktionen, Nullstellenfindung & Minimierungsalgorithmen, Polynome und rationale Funktionen, Interpolation, Quadratur und Differentiation, Filter, Komplexe Zahlenfunktionen, Quaternionen, Oktionen, Integer-Utilities (Größter gemeinsamer Teiler und Kleinstes gemeinsames Vielfaches), Reihen, Rationale Zahlen und Kettenbrüche. BSL-1.0
Boost.Random Bietet eine Vielzahl von Generatoren und Verteilungen zur Erzeugung von Zufallszahlen mit nützlichen Eigenschaften, wie z.B. Gleichverteilung. BSL-1.0
Boost.SafeNumerics C++14, Garantierte Korrekte Integer-Arithmetik, ein Drop-in-Ersatz für die eingebauten Integer-Typen. BSL-1.0 Nur Header
cpp-measures Eine C++11-Bibliothek zur Handhabung physikalischer Maße MPL-2.0 Nur Header
G+Smo Eine plattformübergreifende Bibliothek für isogeometrische Analyse ( Doc ) MPL-2.0 cmake
GNU MP bignum C++ interface Eine C++-Komfortklassen-Schnittstelle, die überladene Funktionen und Operatoren bietet. Die GMP ist eine freie C-Bibliothek für Arithmetik mit beliebiger Genauigkeit, die mit vorzeichenbehafteten Ganzzahlen, rationalen und Fließkommazahlen arbeitet. GNU LGPL v3 und GNU GPL v2
libmpdec++ Eine plattformübergreifende C-Bibliothek (mit C++-Wrappern) für korrekt gerundete dezimale Fließkommaarithmetik mit beliebiger Genauigkeit. BSD-2-Clause make, nmake
NTL Eine Bibliothek für Zahlentheorie. NTL ist eine hochperformante, portable C++-Bibliothek, die Datenstrukturen und Algorithmen zur Manipulation von vorzeichenbehafteten Ganzzahlen beliebiger Länge sowie für Vektoren, Matrizen und Polynome über den ganzen Zahlen und über endlichen Körpern bereitstellt. LGPLv2.1+
PCGrand PCG ist eine Familie von einfachen, schnellen, platzsparenden, statistisch guten Algorithmen zur Zufallszahlengenerierung. Im Gegensatz zu vielen allgemeinen RNGs sind sie auch schwer vorhersagbar. Apache
stats++ Erweiterte, umfassende Statistiksoftware: Datenerfassung und -vorverarbeitung, Statistik, maschinelles Lernen und Optimierung, mit offenem C++-Quellcode.
StatsLib Eine Template-Bibliothek statistischer Verteilungsfunktionen. Apache-2.0 Nur Header

Automatentheorie
Bibliothek Beschreibung Lizenz Konfiguration
yasmine Ein C++11 UML State Machine Framework ( Dokumentation ) ( Quellcode ) Lizenz

Klassenbibliothek für Zahlen
Bibliothek Beschreibung Lizenz Konfiguration
BigNumber Eine C++-Klasse zur Erstellung und Berechnung von Ganzzahlen beliebiger Länge Apache 2.0 cmake
Boost.Multiprecision Die Multiprecision-Bibliothek bietet in C++ Integer-, Rational-, Fließkomma- und komplexe Typen, die mehr Bereich und Genauigkeit haben als C++s gewöhnliche fundamentale (eingebaute) Typen. BSL-1.0
cln CLN ist eine Bibliothek für effiziente Berechnungen mit allen Arten von Zahlen in beliebiger Genauigkeit. GPL
CNL C ompositional N umeric L ibrary - numerische Typen mit fester Genauigkeit BSL-1.0 cmake, conan
fpm Eine C++11 f ixed- p oint m ath-Bibliothek, die die Fließkomma-Funktionalität der Standardbibliothek auf Ganzzahlen bereitstellt. Nützlich, wenn Ihre Zielplattform keine FPU besitzt oder deterministische Berechnungen erforderlich sind. MIT header-only; cmake
Universal Numbers Eine C++17/20 Template-Bibliothek, die Plug-in-Ersatz für die nativen arithmetischen Typen bietet (Integer/Dezimal/Festkomma/Fließkomma/Posits/Logarithmisch/Intervall) MIT cmake, vcpkg, conan

Computergrafik
Bibliothek Beschreibung Lizenz Konfiguration
Boost.Geometry Boost.Geometry (auch bekannt als G eneric G eometry L ibrary, GGL), definiert Konzepte, Primitive und Algorithmen zur Lösung geometrischer Probleme. Boost.Geometry enthält einen dimensionsunabhängigen, koordinatensystemunabhängigen und skalierbaren Kernel, basierend auf Konzepten, Meta-Funktionen und Tag-Dispatching. Unterstützte Algorithmen sind: Berechnung von Fläche, Länge, Umfang, Schwerpunkt, konvexer Hülle, Schnittmenge (Clipping), Within (Punkt-in-Polygon), Distanz, Hüllbereich (Bounding Box), Vereinfachung, Transformation und vieles mehr. Die Bibliothek unterstützt hochpräzise arithmetische Zahlen. BSL-1.0
CGAL Bibliothek für Algorithmen der computergestützten Geometrie GPL-3.0 oder kommerziell cmake
PCL Point Cloud Bibliothek
pmp-library Polygon Mesh Processing Bibliothek
Wykobi Bibliothek für computergestützte Geometrie

Graphentheorie
Bibliothek Beschreibung Lizenz Konfiguration
Boost.Graph BSL-1.0
CXXGraph Eine C++17-Bibliothek für Graphdarstellung, -manipulation, -partitionierung und -algorithmen AGPL-3.0 header-only; cmake
GTpo Eine C++14-Bibliothek zur Modellierung gerichteter Graphen, Teil des QuickQanava-Projekts BSD qmake, cmake
LEMON L ibrary for E fficient M odeling and O ptimization in N etworks implementiert gängige Datenstrukturen und Algorithmen mit Fokus auf kombinatorische Optimierung, Graphen und Netzwerke. ( Doc ) Lizenz
NGraph Eine einfache (Netzwerk-)Graph-Bibliothek in C++
OGDF O pen G raph algorithms and D ata structures F ramework - ist eine C++-Bibliothek für Graphalgorithmen, insbesondere für automatisches Graphzeichnen. GPL v2 oder v3

Lineare Algebra
Bibliothek Beschreibung Lizenz Konfiguration
Armadillo Eine C++ Template-Bibliothek für lineare Algebra und wissenschaftliches Rechnen mit Wrappern für OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU und FFTW. Nützlich für ML, Mustererkennung, DSP, Bioinformatik, Statistik, Finanzen etc. Apache 2.0
Blasw Ein C++11 BLAS und Teile von LAPACK Wrapper BSD-3-Clause header-only; cmake
Blaze
Blitz++ Eine C++ Template-Klassenbibliothek, die hochperformante dichte Arrays und Vektoren, Zufallszahlengeneratoren und kleine Vektoren bereitstellt. GPL-3.0, LGPL-3.0, Custom cmake
Boost.uBLAS Eine C++ Template-Klassenbibliothek, die BLAS Level 1, 2, 3 Funktionalität für dichte, gepackte und sparse Matrizen bereitstellt. Verwendet Expression Templates. BSL-1.0
C++ Matrix Hochleistungs- und präzise (z.B. Randfälle) Matrix-Mathematik-Bibliothek mit Expression Template Arithmetikoperatoren BSD-3-Clause cmake, make
DecompLib Eine C++11-Bibliothek zum Zerlegen eines Vektors in einen Satz positiv definierter gewichteter Basisvektoren. MIT header-only
Dlib - linear algebra tools
Eigen Eine C++ Template-Bibliothek für lineare Algebra: Matrizen, Vektoren, numerische Löser und verwandte Algorithmen. MPL2 cmake, conan
ETL
IT++
Matrix Einfach zu verwendende Scientific Computing-Bibliothek in/für C++ verfügbar für Linux und Windows. MIT cmake
NumCpp Eine C++ Template-Bibliothek, die Pythons NumPy implementiert MIT header-only; cmake, vcpkg, conan
PETSc Eine Sammlung von Datenstrukturen und Routinen für die parallele Lösung wissenschaftlicher Anwendungen, die durch partielle Differentialgleichungen modelliert werden. Unterstützt MPI und GPUs über CUDA oder OpenCL, sowie hybride MPI-GPU.
Spectra Sp arse E igenvalue C omputation T oolkit as a R edesigned A RPACK ist eine Open-Source C++-Bibliothek für großskalige Eigenwertprobleme, aufgebaut auf der Eigen linearen Algebra-Bibliothek (ebenfalls Open-Source und header-only). ( Src ) MPL-2.0 header-only; cmake, vcpkg
Tense Eine schnelle C++17 Expression Template Matrix- und Tensor-Bibliothek BSD-3-Clause header-only; cmake
xtensor Eine C++-Bibliothek für numerische Analyse mit mehrdimensionalen Array-Ausdrücken. BSD

Maschinelles Lernen
Bibliothek Beschreibung Lizenz Konfiguration
Dlib Ein Machine Learning Werkzeuge
FANN Eine F ast A rtificial N eural N etwork Bibliothek
gaenari Ein auf C++17 basierender inkrementeller Entscheidungsbaum Apache-2.0 cmake
liblinear
libtorch Eine C++-Frontend für die beliebte PyTorch Python-Bibliothek (Backend ist in C++ geschrieben) BSD-style cmake
MLPACK Ein Machine Learning Paket
Shogun Eine Large Scale Machine Learning Toolbox
stats++
tensorflow Ein Open Source Machine Learning Framework für Alle; bietet stabile C++ API und ist hauptsächlich in C++ geschrieben Apache-2.0 bazel

Numerische Berechnungen
Bibliothek Beschreibung Lizenz Konfiguration
LibBF Eine beliebig präzise numerische Berechnungsbibliothek entwickelt von Bellard mit einem Beispielprogramm, das π auf Milliarden von Bits berechnet MIT

Optimierung
Bibliothek Beschreibung Lizenz Konfiguration
ceres-solver Eine quelloffene C++-Bibliothek zur Modellierung und Lösung großer, komplexer Optimierungsprobleme. Es handelt sich um eine funktionsreiche, ausgereifte und leistungsstarke Bibliothek, die bei Google seit 2010 im Produktionseinsatz ist. Apache cmake, conan
OptimLib Eine C++11-Bibliothek mit numerischen Optimierungsmethoden für nichtlineare Funktionen.

Symbolische Ausdrucksmanipulationen
Bibliothek Beschreibung Lizenz Konfiguration
CasADi Ein symbolisches Framework für nichtlineare Optimierung und algorithmische Differentiation. Unterstützt C++-Codegenerierung für symbolische Ausdrücke und dynamische Verbindung von kompiliertem generiertem Code. LGPLv3.0 cmake
ExprTk Die C++ Mathematical Expression Toolkit Library (ExprTk) ist eine einfach zu verwendende, leicht zu integrierende und äußerst effiziente Laufzeit-Mathematikausdrucksparser- und Auswertungsengine. ExprTk unterstützt zahlreiche Formen funktionaler, logischer und vektorieller Verarbeitungssemantiken und ist sehr einfach erweiterbar. MIT header-only
GiNaC Eine Bibliothek zur Erstellung integrierter Systeme, die symbolische Manipulationen zusammen mit etablierteren Bereichen der Informatik (wie rechenintensive numerische Anwendungen, grafische Oberflächen etc.) unter einem Dach vereinen. GPLv3
mathiu.cpp Ein einfaches Computeralgebrasystem in C++17 Apache-2.0 cmake
SEMT Eine Compile-Time symbolische Differentiation Lizenz make
SymbolicC++ Ein universelles Computeralgebrasystem GPLv2 autoconf
SymCC Ein Compiler-Wrapper, der symbolische Ausführung während der Kompilierung in das Programm einbettet, sowie eine zugehörige Laufzeit-Unterstützungsbibliothek. Im Wesentlichen fügt der Compiler Code ein, der symbolische Ausdrücke für jeden Wert im Programm berechnet. Die eigentliche Berechnung erfolgt durch Aufrufe der Unterstützungsbibliothek zur Laufzeit. GPLv3 cmake
SymEngine Eine eigenständige schnelle C++-Bibliothek für symbolische Manipulation. MIT cmake
ViennaMath Eine symbolische Mathematikbibliothek, die eine bequeme Instanziierung, Manipulation und Auswertung mathematischer Ausdrücke zur Laufzeit und Compile-Time ermöglicht. MIT cmake

Metaprogrammierung

Bibliothek Beschreibung Lizenz Konfiguration
Boost.CallableTraits Eine C++11/17-Bibliothek zur Compile-Zeit-Inspektion und Manipulation aller 'aufrufbaren' Typen. Ein Nachfolger von Boost.FunctionTypes. BSL-1.0 header-only
Boost.Hana Eine neue Metaprogrammierungsbibliothek für Typen und Werte BSL-1.0
Boost.Metaparse Eine Compile-Zeit-Parser-Bibliothek, die Typen, Werte und Metafunktionen aus Compile-Zeit-Strings erzeugt BSL-1.0
Boost.Mp11 Eine C++11-Metaprogrammierungsbibliothek zur Compile-Zeit-Manipulation von Datenstrukturen, die Typen enthalten. BSL-1.0 header-only
Boost.MPL Eine ursprüngliche Metaprogrammierungsbibliothek, auf C++03 ausgerichtet, langsam BSL-1.0
Boost.PFR Eine C++14-Bibliothek für grundlegende Reflektion (ohne Makros): Besuchen von Mitgliedern eines benutzerdefinierten Typs nach Index, IO-Streaming. BSL-1.0 header-only
Boost.Proto Eine Bibliothek zum Erstellen von Expression-Template-basierten EDSLs BSL-1.0
Brigand Verwendet eager Metafunktionen, für beste Leistung optimiert
CoMeta Eine leichtgewichtige C++14-Metaprogrammierungsbibliothek header-only
Meta Verwendet eager Metafunktionen, Mittelweg zwischen Metal und Brigand bezüglich Leistung
Metal Verwendet eager Metafunktionen, 100% SFINAE-freundlich
refl-cpp Eine moderne Compile-Zeit-Reflektionsbibliothek für C++ mit Unterstützung für Überladungen, Templates, Attribute und Proxies
Refureku Eine C++17-Laufzeitreflektions- und Codegenerierungsbibliothek MIT cmake
visit_struct Eine minimale Reflektionsbibliothek, die Struktur-Besucher für C++11/14 bereitstellt. Eigenständig, 200-400 Codezeilen je nach Zählweise.

PDF

Bibliothek Beschreibung Lizenz Konfiguration
HARU Eine freie, plattformübergreifende, quelloffene Bibliothek zur Erstellung von PDF-Dateien. ( Dokumentation ) ( Quellcode ) Zlib cmake
JagPDF Eine freie, quelloffene Bibliothek zur PDF-Erstellung ( Dokumentation ) MIT
PoDoFo Eine freie portable C++17-Bibliothek zur Arbeit mit PDF LGPL-2.0 cmake, conan, vcpkg
PDF-Writer Eine hochperformante C++-Bibliothek zum Erstellen, Modifizieren und Parsen von PDF-Dateien Apache-2.0 cmake, conan, vcpkg

Physik und Simulationen

Bibliothek Beschreibung Lizenz Konfiguration
Bullet Eine Physiksimulation für Spiele, visuelle Effekte, Robotik und Reinforcement Learning
HELICS Ein Co-Simulations-Framework zur Synchronisierung von Zeit und Datenaustausch zwischen verschiedenen Simulatortypen BSD 3-Clause "New" or "Revised" cmake
ProjectCHRONO Eine Open-Source-Multi-Physik-Simulations-Engine
ReactPhysics3D Eine C++ Physik-Engine-Bibliothek für 3D-Simulationen und Spiele

Robotik

Wahrnehmung
Bibliothek Beschreibung Lizenz Konfiguration
GTSAM Sensorfusion, SLAM, SFM, VO, Computer Vision ( Src ) BSD cmake
opencv Computer Vision und Wahrnehmung, Kalibrierung, Feature Matching ( Src ) ( Doc ) BSD, Apache 2 cmake

Serialisierung

Bibliothek Beschreibung Lizenz Konfiguration
Boost.Serialization BSL-1.0
C++ XML objects
cereal Eine C++11-Serialisierung BSD
cista Eine einfache, hochperformante, Zero-Copy C++ Serialisierungs- & Reflektionsbibliothek. ( Src ) MIT cmake
cppcodec Eine C++11-Bibliothek zum Kodieren/Dekodieren von base64, base32 und hex mit konsistenter, flexibler API MIT header-only
GPDS Ein universeller Datenserialisierer zur Serialisierung von Objekten in und aus XML. Verwendet TinyXML im Hintergrund.
gSOAP Eine präzise XML-Serialisierung
iguana Eine moderne, universelle und benutzerfreundliche Serialisierungs-Engine entwickelt in C++17, basierend auf Compile-Time Reflection. Unterstützte Formate: JSON, XML, benutzerdefiniert. Apache-2.0 cmake
jios JSON-Serialisierung MIT cmake
protobuf Protocol Buffers (auch protobuf) ist Googles sprachneutraler, plattformneutraler, erweiterbarer Mechanismus zur Serialisierung strukturierter Daten, inklusive .proto-Dateien Compiler. ( Doc ) Custom bazel, cmake
rpnx-serial Eine Bibliothek, die Typen wie std::map , std::vector etc. (de)serialisieren kann.
Serio Eine schnelle, schlanke C++-Serialisierungsbibliothek BSD-3-Clause header-only; cmake
ThorsSerializer Eine C++-Serialisierungsbibliothek für JSON MIT make
yaml-cpp
YAS Y et A nother S erialization ist eine C++11-Bibliothek ohne Abhängigkeiten von Drittanbieterbibliotheken. Archive können binär, Text oder JSON sein Boost header-only

Binäre Serialisierung
Bibliothek Beschreibung Lizenz Konfiguration
binn Eine Binärserialisierungsbibliothek, die kompakt, schnell und einfach zu verwenden sein soll, selbst eine Implementierung des gleichnamigen Formats.
blobify Eine C++17-Bibliothek, die das serialisierte Layout allein aus der Strukturdefinition ableitet. Boost header-only; cmake
bson-cxx Eine C++11-Implementierung des BSON -Formats. scons
fast_ber Eine C++11-Hochleistungsserialisierung unter Verwendung von BER/DER-Kodierungsregeln. Das Kodierungslayout wird durch ASN.1-Schemata definiert.
UBjsonCpp Eine hochperformante UBJson-Lese-Schreib-Bibliothek basierend auf C++14

Sortierung

Bibliothek Beschreibung Lizenz Konfiguration
Cpp-sort Eine Sammlung verschiedener Sortieralgorithmen in einem einfachen Paket. MIT
Indiesort Eine Funktionsvorlage, die es ermöglicht, std::sort (und andere Sortierfunktionen mit wahlfreiem Zugriff) mit Containern ohne wahlfreien Zugriff zu verwenden. Sie verbessert außerdem die Leistung beim Sortieren großer Objekte in Containern und Arrays mit wahlfreiem Zugriff. zlib
Timsort Eine stabile Sortierfunktionsvorlage, die quicksort-basierte Algorithmen, einschließlich std::sort , für umgekehrte oder halb sortierte Daten übertrifft. MIT

System

Bibliothek Beschreibung Lizenz Konfiguration
Infoware Eine C++-Bibliothek zum Abrufen von System- und Hardwareinformationen ohne Kommandozeilenaufrufe. Creative Commons v1.0 cmake

Terminal

Bibliothek Beschreibung Lizenz Konfiguration
cli Eine plattformübergreifende Bibliothek für interaktive Kommandozeilenschnittstellen in modernem C++. BSL-1.0 header-only; cmake, make, nmake, vcpkg
cwidget Eine High-Level-Terminalbibliothek für C++, modelliert nach GTK+ und Qt, die jedoch curses als Anzeigeschicht verwendet GPL v2.0 make
replxx Ein Ersatz für readline und libedit mit Unterstützung für UTF-8, Syntaxhervorhebung & Hinweisen.

Testen

Bibliothek Beschreibung Lizenz Konfiguration
bandit Ein benutzerfreundliches Unit-Testing für C++11. ( Quellcode ) MIT cmake
Boost.Test Eine C++03/11/14/17 Unit-Testing-Bibliothek, verfügbar auf einer Vielzahl von Plattformen und Compilern. ( Quellcode ) BSL-1.0 cmake, b2
Catch2 Ein modernes, C++-natives Testframework für Unit-Tests, TDD und BDD - verwendet C++14, C++17 und höher Boost cmake
cppunit Ein C++-Port des bekannten JUnit-Frameworks für Unit-Testing LGPL-2.1 make
CUTE Ein C ++ U nit T esting E asier (keine Abhängigkeit von statischer Initialisierung für Registrierung), integriert in Cevelop für TDD MIT header-only
doctest Das leichteste funktionsreiche C++ Single-Header-Testframework für Unit-Tests und TDD MIT header-only; cmake
ELFspy Testing in Isolation mit Fakes und Spies - Nur Linux GPL-2.0 make
faker-cxx Eine moderne C++20 Faker-Bibliothek zur Generierung von Testdaten. MIT cmake
Google Test Google Testing and Mocking Framework. ( Quellcode ) BSD 3-Clause "New" or "Revised" bazel, cmake
lest Ein C++11-natives kleines Framework für Unit-Tests, TDD und BDD (enthält C++98-Variante). Boost header-only; cmake
liblittletest Ein portables Testframework LGPL-2.1 header-only
snitch Ein leichtgewichtiges C++20-Testframework. Boost cmake
tunit Eine moderne C++17 Unit-Testing-Bibliothek für Windows, macOS, Linux, iOS und Android. Offizielle Website MIT cmake

Text

Programmierung
Bibliothek Beschreibung Lizenz Konfiguration
strsuite Eine C++20-Bibliothek zur Verwaltung von Zeichenketten mit verschiedenen Kodierungen LGPL3.0 cmake
uchardet Erkennt die Kodierung einer Zeichenkette, im Wesentlichen identisch zur uchardet -Funktion in Python. MOZILLA PUBLIC LICENSE v1.1 cmake
win-iconv Eine Bibliothek zur Zeichensatzkonvertierung für Linux und Mac. Die Windows-Implementierung von iconv basiert auf der Win32-Zeichensatzkonvertierungs-API. public domain cmake

Diff/Patch
Bibliothek Beschreibung Lizenz Konfiguration
diff_match_patch Erstellen und Anwenden von Patches für Zeichenketten (benötigt Qt) Apache 2.0 qmake

Format
Bibliothek Beschreibung Lizenz Konfiguration
coformat Eine begleitende C++-Bibliothek für std::format zur Ermöglichung von Textfärbung und Formatierung. public domain header-only
fmt Eine Open-Source-Formatierungsbibliothek, die eine schnelle und sichere Alternative zu C stdio und C++ iostream s bietet. Prototyp für die C++20 std::format -Familie. Lizenz cmake, conan

Parsen
Bibliothek Beschreibung Lizenz Konfiguration
BNFlite Eine leichtgewichtige Grammatik-Parser-Bibliothek MIT header-only
Boost.Spirit Eine Sammlung von C++17-Bibliotheken für Parsing und Ausgabegenerierung, implementiert als D omain S pecific E mbedded L anguages (DSEL) unter Verwendung von Expression Templates und Template Meta-Programming. Die Spirit-Bibliotheken ermöglichen es, eine Zielgrammatik ausschließlich in C++ zu schreiben. ( Src ) ( Doc ) BSL-1.0 cmake
CTRE Schnelle C ompile- T ime R egular E xpressions mit Unterstützung für Matching/Suchen/Erfassen während der Kompilierzeit oder Laufzeit. Apache-2.0 header-only, cmake, vcpkg
lexy Eine C++17-Parser-Kombinator-Bibliothek, die es ermöglicht, einen Parser durch Angabe in einer praktischen C++-DSL mit der gesamten Flexibilität und Kontrolle eines handgeschriebenen Parsers zu schreiben. Unterstützt UTF-8/16/32. ( Doc ) BSL-1.0 cmake
PEGTL P arsing E xpression G rammar T emplate L ibrary ist eine nullabhängige C++17-Header-only-Parser-Kombinator-Bibliothek zur Erstellung von Parsern gemäß einer Parsing Expression Grammar (PEG). Boost header-only

Suche
Bibliothek Beschreibung Lizenz Konfiguration
clucene CLucene ist eine plattformübergreifende, vollständige Open-Source-Indexierungs- und Suchmaschine/API. ( Quellcode ) ( Dokumentation ) LGPL v2.1 cmake
Step20 Ukkonens Online-Algorithmus zur Konstruktion von Suffix-Bäumen , Manbers Algorithmus zur Konstruktion von Suffix-Arrays . MIT header-only
xapian Eine Open-Source-Suchmaschine mit Indexierungsfunktionen ( Quellcode ) ( Dokumentation ) GPL v2+ make

Template-Engine
Bibliothek Beschreibung Lizenz Konfiguration
inja Eine Template-Engine für C++17. MIT header-only; cmake, conan, vcpkg, etc.
Jinja2C++ Eine C++14/17 Implementierung von Jinja2 Templates MPL-2.0 cmake, conan

Versionsverwaltung

Bibliothek Beschreibung Lizenz Konfiguration
coo-semver Eine C++-Operationsbibliothek für semantische Versionsnummern.
LibGit2 Eine Kernbibliothek des Versionskontrollsystems Git.

Video

Bibliothek Beschreibung Lizenz Konfiguration
crystalhd
gstreamermm
libmatroska
libVLC
mjpegtools
OpenH264 Eine plattform- und architekturübergreifende Open-Source-Bibliothek, die H.264-Kodierung und -Dekodierung unterstützt ( Src ) BSD-2 Clause meson

Web

Bibliothek Beschreibung Lizenz Konfiguration
Chromium Embedded
cpp-jwt
Drogon Ein auf C++14/17 basierendes HTTP-Webanwendungsframework, das auf Linux/macOS/Unix/Windows läuft.
ffead-cpp Ein F ramework f ür E nterprise- A nwendungs e ntwicklung in C ++, HTTP1/HTTP2/HTTP3-konform, unterstützt mehrere Server-Backends Apache 2.0 cmake
libhttpserver Eine C++-Bibliothek zum Erstellen hochperformanter RESTful-Webserver. Basiert auf libmicrohttpd , um Entwicklern eine einfache API zur Erstellung von HTTP-Diensten in C++ zu bieten. LGPL-v2.1 autotools
libkcddb
liblastfm
libmusicbrainz5
libnavajo
Molybden Ein SDK zum Erstellen plattformübergreifender C++-Desktopanwendungen mit HTML/CSS/JS-GUI. ( Dok ) ( Quell ) Lizenz npm
oatpp Ein leistungsstarkes, portables, leichtgewichtiges und abhängigkeitsfreies Webframework für IoT und hochperformante Webdienste.
QtWebApp HTTP(s)-Server in C++, inspiriert von Java Servlets
Tufão Ein asynchrones Webframework für C++11, basierend auf Qt ( Dok ) LGPL-2.1, GPL-2.0 cmake
uri-template URI-Templates-Erweiterung und Reverse-Matching für C++ Apache 2.0 cmake
userver Das C++ Asynchrone Framework Apache 2.0 cmake
Wt Widgets und Bausteine für Webanwendungen, integrierte Sicherheit, PDF-Rendering, 2D- und 3D-Malerei, ORM, Diagramme, Authentifizierungsframeworks. ( Dok ) ( Quell ) GNU GPL oder kommerziell

Siehe auch

C-Dokumentation für Nicht-ANSI/ISO-Bibliotheken

Externe Links

1. Liste von C++ Unit-Testing-Frameworks — bei Wikipedia
2. Eine kuratierte Liste von (fantastischen) nur-Header C++-Bibliotheken — bei GitHub
3. Eine kuratierte Liste von (fantastischen) C++- und C-Bibliotheken — bei GitHub
4. Boost C++-Bibliotheken — bei Boost.org
5. Eine umfangreiche Liste von C++ Open-Source-Spielen und Frameworks — bei GitHub.io