Namespaces
Variants

A list of open-source C++ libraries

From cppreference.net

Цель данной страницы — создать исчерпывающий список библиотек C++ с открытым исходным кодом, чтобы при необходимости реализации определённой функциональности не приходилось тратить время на поиски в интернете ( DuckDuckGo , Google , Bing и т.д.).

Если вы знаете библиотеку, которая может быть полезна другим, пожалуйста, добавьте ссылку на неё здесь. Нет никаких ограничений на то, что может быть включено, за исключением того, что исходный код библиотеки должен быть легко доступен для скачивания.

Страница предоставляется «как есть» — с надеждой на полезность, но без каких-либо гарантий. Здесь могут появляться устаревшие, вводящие в заблуждение или неправильные ссылки. Если вы заметили таковые, было бы замечательно, если бы вы исправили ошибку.

Библиотеки: Содержание

Библиотеки:


Содержание

Менеджеры пакетов

Менеджер пакетов Описание
build2 Открытый (MIT) кроссплатформенный инструмент сборки, который стремится приблизить удобство Rust Cargo для разработки и упаковки C/C++ проектов, обеспечивая при этом большую глубину и гибкость, особенно в системе сборки.
cget Получение пакетов Cmake. Может использоваться для загрузки и установки cmake пакетов.
cmodule Ненавязчивое управление зависимостями cmake.
conan Децентрализованный, открытый (MIT) менеджер пакетов для C/C++.
CPM.cmake Скрипт cmake, который добавляет возможности управления зависимостями в cmake. Построен как тонкая оболочка вокруг модуля FetchContent cmake, добавляющая контроль версий, кэширование, простой API и многое другое.
hunter Управляемый cmake кроссплатформенный менеджер пакетов для C/C++ проектов.
spack Менеджер пакетов для суперкомпьютеров, Linux и macOS. Облегчает установку научного программного обеспечения. Не привязан к конкретному языку программирования.
teaport Менеджер зависимостей, вдохновленный cocoapods.
vcpkg Менеджер пакетов для C/C++ для Windows, Linux и macOS.
xmake Кроссплатформенный инструмент сборки и менеджер пакетов для C/C++ на основе Lua.

Библиотеки

Аудио

Библиотека Описание Лицензия Конфигурация
Amplitude Audio SDK Кроссплатформенный аудиодвижок, разработанный с учётом потребностей игр. ( Исходный код ) Apache-2.0 cmake, vcpkg
Aquila Кроссплатформенная библиотека DSP с открытым исходным кодом для C++11. MIT cmake
Aubio Библиотека на C/Python для анализа аудио и музыки. ( Исходный код ) GPL-3.0 make
audioFlux Библиотека на C для анализа аудио и музыки, извлечения признаков. MIT
Essentia Библиотека и инструменты с открытым исходным кодом для анализа, описания и синтеза аудио и музыки (MIR) ( Исходный код ) Affero GPLv3
FFTW Библиотека для вычисления DFT (SSE/SSE2/AVX/Altivec/ARM Neon). ( Исходный код ) GPL-2.0 cmake
FMOD Простой в использовании кроссплатформенный аудиодвижок и инструмент для создания аудиоконтента для игр. Бесплатно для некоммерческого/Коммерческого использования cmake
KFR Быстрый, современный, кроссплатформенный фреймворк DSP/DFT с открытым исходным кодом для C++17, поддерживает ресемплинг аудио, FIR/IIR фильтры, Biquad (SSE, AVX, AVX-512, ARM NEON). ( Исходный код ) GPL-2.0 cmake
libsoundio Библиотека на C для кроссплатформенного ввода и вывода аудио в реальном времени. ( Исходный код ) MIT cmake
Maximilian Библиотека DSP для аудио и музыки на C++. MIT cmake
Miniaudio Библиотека на C для воспроизведения и захвата аудио. ( Исходный код ) Unlicense одиночный исходный файл
ni-media Библиотека на C++ для чтения и записи аудиофайлов. MIT cmake, vcpkg
OpenAL Кроссплатформенный аудио API. BSD/LGPL/Проприетарная cmake
PortAudio PortAudio — бесплатная, кроссплатформенная библиотека ввода-вывода аудио с открытым исходным кодом. ( Исходный код ) MIT cmake, vcpkg
rnnoise Рекуррентная нейронная сеть для снижения шума в аудио. BSD-3-Clause make
SELA S impl E L ossless A udio. MIT cmake
SoLoud Простой, портируемый аудиодвижок для игр. zlib
Soundtouch SoundTouch — кроссплатформенная библиотека обработки аудио с открытым исходным кодом для изменения темпа, высоты тона и скорости воспроизведения аудиопотоков или аудиофайлов. ( Исходный код ) LGPL-2.1 make
Tonic Простой и эффективный синтез аудио на C++. Unlicense
Verovio Быстрая и легковесная библиотека для нотной гравировки. ( Исходный код ) LGPL cmake, qmake
Wav2Letter++ Быстрый инструментарий для распознавания речи, написанный полностью на C++ и использующий тензорную библиотеку ArrayFire и библиотеку машинного обучения flashlight для максимальной эффективности. BSD License cmake

CD
Библиотека Описание Лицензия Конфигурация
libkcompactdisc Библиотека для взаимодействия с компакт-дисками GPL v2.0 cmake

Фингерпринтинг
Библиотека Описание Лицензия Конфигурация
chromaprint Chromaprint - это библиотека аудио-отпечатков, предназначенная для идентификации почти идентичного аудио. Она жертвует точностью и надежностью в пользу производительности поиска. Chromaprint может использовать несколько библиотек FFT - FFmpeg, FFTW3, KissFFT или vDSP. ( Исходный код ) MIT, LGPL 2.1 cmake
libmusicbrainz Клиентская библиотека MusicBrainz (libmusicbrainz), также известная как mb_client, является библиотекой для разработчиков, которые хотят добавить возможности поиска MusicBrainz в свои приложения. Библиотека поддерживает Windows, Linux и Mac OS X ( Исходный код ) LGPL-2.1 cmake
libofa Открытая библиотека аудио-отпечатков от MusicIP APL make

Форматы
Библиотека Описание Лицензия Конфигурация
AudioFile Простая C++ библиотека для чтения и записи аудиофайлов. MIT cmake
audio_file Библиотека для работы с чтением и записью аудиофайлов во многих распространённых форматах. ( Исходный код ) LGPL-2.1 make
dr_libs Однofайловые библиотеки декодирования аудио (FLAC, MP3, WAV) для C и C++. Unlicense
flac FLAC означает F ree L ossless A udio C odec, что означает отсутствие потерь качества при сжатии аудио в FLAC. FLAC выделяется как самый быстрый и наиболее широко поддерживаемый lossless аудиокодек, непроприетарный и свободный от патентов. Open Source , BSD, GPL
LAME LAME — это высококачественный кодировщик MPEG Audio Layer III (MP3). LGPL
libsndfile C библиотека с C++ обёрткой для чтения и записи файлов с семплированным звуком (например, WAV, AIFF) через единый стандартный интерфейс библиотеки. ( Исходный код ) LGPL-2.1 cmake, make, vcpkg
minimp3 Минималистичный MP3 декодер CC0-1.0 header-only
Opus Полностью открытый, свободный от лицензионных отчислений, высокоуниверсальный аудиокодек. BSD cmake
Vorbis Ogg Vorbis — полностью открытый, непроприетарный, свободный от патентов и лицензионных отчислений, универсальный формат сжатого аудио. BSD cmake

Тегирование
Библиотека Описание Лицензия Конфигурация
id3lib Открытая кроссплатформенная библиотека для чтения, записи и манипуляции тегами ID3v1 и ID3v2, а также получения базовой информации из заголовка mp3, такой как битрейт. Однако сейчас мы рекомендуем переходить на taglib :) LGPL v2
taglib TagLib Audio Metadata Library — это библиотека для чтения и редактирования метаданных нескольких популярных аудиоформатов: ID3v1, ID3v2 для MP3 файлов, комментариев Ogg Vorbis, а также тегов ID3 и комментариев Vorbis в файлах FLAC, MPC, Speex, WavPack, TrueAudio, WAV, AIFF, MP4 и ASF. ( Исходный код ) LGPL и MPL v1.1

Бенчмаркинг

Библиотека Описание Лицензия Конфигурация
benchmark Библиотека для бенчмаркинга фрагментов кода, аналогично модульным тестам Apache 2.0 cmake
Celero Богатая возможностями библиотека/фреймворк для создания бенчмарков на C++. Поддерживает Windows, Linux и OSX с использованием C++11. Apache cmake
Criterion Библиотека для микро-бенчмаркинга современного C++ MIT header-only; cmake
gperftools 'Google Performance Tools' включает высокопроизводительную многопоточную реализацию malloc, а также инструменты для бенчмаркинга выделения памяти и использования CPU. BSD 3-Clause "New" or "Revised" configure
nanobench Простая, быстрая, точная однозаголовочная функциональность для микро-бенчмаркинга на C++11/14/17/20. ( Src ) MIT header-only; cmake
picobench Очень маленькая (микро) библиотека для микро-бенчмаркинга MIT header-only; cmake
plf::nanotimer Простой кроссплатформенный класс таймера с минимальными накладными расходами для бенчмаркинга. zlib header-only

Коммуникация

**Перевод:** **Примечание:** В данном фрагменте нет текста для перевода, так как: - "TAO" и "CORBA" являются техническими терминами C++/CORBA и не переводятся - Остальное содержание состоит из HTML-тегов и атрибутов, которые сохраняются без изменений - Пустые теги `
Библиотека Описание Лицензия Конфигурация
ACE Асинхронные сетевые технологии, демультиплексирование событий, обмен сообщениями ( Исходный код ) ( Документация ) Пользовательская make
Apache Thrift Программный фреймворк Apache Thrift для масштабируемой кросс-языковой разработки сервисов объединяет программный стек с механизмом генерации кода для создания сервисов, которые эффективно и беспрепятственно работают между C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml и Delphi и другими языками. ( Исходный код ) Apache-2.0 cmake, vcpkg
Boost.Asio Асинхронные и синхронные сетевые операции, таймеры, последовательный ввод-вывод BSL-1.0
Boost.Beast Библиотека HTTP и WebSocket, построенная на основе Boost.Asio BSL-1.0
Breep Событийно-ориентированная высокоуровневая peer-to-peer библиотека, позволяющая пользователям напрямую отправлять и получать объекты. Европейская Общественная Лицензия 1.1 cmake
brpc Промышленный фреймворк RPC, используемый по всему Baidu, с 1,000,000+ экземпляров и тысячами видов сервисов. ( Исходный код ) ( Документация ) Apache 2.0 cmake
C++ REST SDK Асинхронный HTTP клиент и слушатель, асинхронный Stream, URI, JSON MIT cmake
cpp-httplib Однofайловая кроссплатформенная HTTP/HTTPS библиотека на C++11 только с заголовочными файлами MIT header-only; cmake
cpp-netlib Библиотека сетевых функций на C++ BSL-1.0 cmake
cppsimpleuri Современный C++ парсер URI и запросов MIT cmake
cpr Современная C++ библиотека для HTTP запросов MIT cmake
Crow Микрофреймворк для веб-разработки на C++ (вдохновлён Python Flask) BSD-3-Clause header-only; cmake
curlpp Обёртка C++ для libcURL (библиотеки CURL). ( Исходный код ) cmake, vcpkg
DumaisLib Различные утилиты, такие как WebServer, JSON, WebSocket сервер, REST фреймворк (библиотека для создания REST API в вашем c++ приложении) MIT make
EasyHttp Кросс-платформенная HTTP-клиентская библиотека с фокусом на удобство использования и скорость, поддерживающая кэширование HTTP-ответов и многое другое. MIT cmake
eCAL Высокопроизводительная библиотека межпроцессного взаимодействия Apache 2.0 cmake
fineftp-server Библиотека FTP-сервера для Windows и Unix MIT cmake
FPNN F ast P rogrammable N exus N etwork. Высокопроизводительная полностью асинхронная RPC сервисная платформа. Одновременно поддерживает HTTP, WebSocket, TCP и надежный UDP. Поддерживает разработку серверов со сверхвысокой нагрузкой, с соответствующими клиентскими SDK. 未知 make
gRPC Современный высокопроизводительный фреймворк RPC с открытым исходным кодом, который может работать в любой среде. ( Исходный код ) ( Документация ) Apache-2.0 bazel, cmake, vcpkg
gsoap Инструментарий разработки на C/C++ для XML data bindings, быстрых WSDL/SOAP/XML веб-сервисов, WS-Security, JSON/XML-RPC RESTful сервисов GPLv2
hmbdc Легковесный и высокопроизводительный C++17 фреймворк/библиотека промежуточного ПО для публикации/подписки сообщений header-only
HTTPP Простой, готовый к промышленному использованию HTTP-сервер на C++14, построенный на базе Boost, и клиент, построенный на основе libcurl. BSD 2-Clause "Simplified" cmake, make
IXWebSocket Открытая библиотека WebSocket + HTTP без зависимостей, поддерживает SSL и расширение WebSocket per message deflate. BSD 3-Clause "New" or "Revised" cmake, make
KCP Быстрый и надежный ARQ протокол, который помогает приложениям снизить сетевую задержку. MIT cmake
libashttp Асинхронная HTTP-клиентская библиотека GNU Lesser General Public v3.0
libjson-rpc-cpp

Фреймворк, предоставляющий кроссплатформенную поддержку JSON-RPC (удаленный вызов процедур) для C++, полностью совместимый с JSON-RPC 2.0 & 1.0.

MIT cmake, conan
libnavajo C++ фреймворк, включающий быстрый многопоточный HTTP сервер, HTML5 Websockets, SSL, X509 и HTTP аутентификацию, сжатие, cookies и расширенное управление сессиями, IPv4 и IPv6 (CeCILL-C). СОГЛАШЕНИЕ О ЛИЦЕНЗИИ НА БЕСПЛАТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ CeCILL-C cmake
libtins Библиотека для создания и перехвата сетевых пакетов ( Исходный код ) ( Документация ) BSD-2 cmake, vcpkg
LiteNetLibPP Легковесная надежная UDP библиотека для игр MIT cmake
mailio Библиотека MIME и email BSD 2-Clause "Simplified" cmake
nanomsg Быстрая очередь сообщений, преемник zeromq
netif C++14 библиотека для получения сетевых адресов на Windows, Linux, macOS и FreeBSD. BSD 3-Clause "New" или "Revised" header-only; cmake
nghttp2 HTTP/2 C библиотека и инструменты (сервер, клиент, прокси и инструменты для тестирования производительности) MIT cmake, configure
ngrest Быстрый и простой в использовании фреймворк для JSON RESTful веб-сервисов Apache 2.0 cmake
nng Быстрая система обмена сообщениями, преемник nanomsg
Oat++ Веб-фреймворк: реализация REST-API и запросов ( Исходный код ) ( Документация ) Apache 2.0 cmake
omniORB Самая быстрая, полная и портируемая реализация CORBA ORB на C++
OpenDDS Реализация DDS (Data Distribution Service)
Paho MQTT Современный C++ клиент для MQTT от Eclipse cmake
paozhu Веб-фреймворк на C++20 с поддержкой HTTP/2, ORM и WebSocket MIT cmake
PcapPlusPlus Мультиплатформенный C++ фреймворк для сетевого сниффинга, анализа и создания пакетов. Предоставляет C++ обёртки для многих популярных движков обработки пакетов, таких как libpcap, Npcap, WinPcap, DPDK, AF_XDP и PF_RING. ( Исходный код ) Unlicense conan, homebrew, cmake, vcpkg
POCO Сетевое взаимодействие: шифрование, HTTP; Zip-файлы ( Документация )
rest_rpc C++11, высокопроизводительный, кроссплатформенный и простой в использовании RPC-фреймворк. MIT cmake
restbed Кроссплатформенная многофункциональная платформа, предоставляющая асинхронную RESTful функциональность (безопасная коммуникация по HTTP) для приложений на C++14. Лицензия cmake
restc-cpp Доступ к JSON API из C++. HTTP клиент, нативная сериализация C++ классов в/из JSON, асинхронный ввод-вывод через корутины boost::asio. C++14. MIT cmake
restful_mapper ORM для работы с RESTful JSON API в C++ cmake, make
seastar Высокопроизводительный фреймворк для серверных приложений, основанный на C++14/C++17. Apache 2.0 cmake, etc.
Silicon Фреймворк Silicon для C++14: Быстрые и надежные веб-API MIT cmake
sockpp Простая, современная библиотека сокетов на C++ BSD 3-Clause "New" или "Revised" cmake
stream-client Легковесный клиентский сокет/коннектор/пул сокетов/резолвер на основе Boost Apache 2.0 header-only; cmake
tacopie Библиотека TCP на C++11 MIT cmake
TAO CORBA
TAO CORBA
` остаются без изменений
taox11 Реализация CORBA на основе C++11 MIT
Unicomm Асинхронные сетевые технологии, высокоуровневая TCP-коммуникационная платформа
uvw Обёртка для libuv (кроссплатформенный асинхронный ввод-вывод) на C++17 MIT header-only; cmake
WNetWrap Обёртка для WinInet на C++ MIT
wvstreams Библиотека для сетевого программирования на C++, включающая UniConf и удобный API для D-Bus GPL
zeromq Быстрая очередь сообщений

Конкурентность

Библиотека Описание Лицензия Конфигурация
AdaptiveCpp Предоставляет компилятор и систему исполнения SYCL и параллельного STL C++ для оффлоадинга на CPU и GPU от NVIDIA, AMD, Intel BSD-2-Clause cmake
Asyncpp Асинхронная C++ библиотека, предоставляющая различные операции для параллельного выполнения MIT cmake
BlockingCollection Потокобезопасный класс C++11 для блокирующих очередей, стеков и приоритетных очередей с поддержкой множественных производителей и потребителей GPL-3.0 только заголовочные файлы
Boost.Atomic Предоставляет атомарные типы данных и операции над этими типами данных, а также ограничения упорядочения памяти, необходимые для координации нескольких потоков через атомарные переменные. BSL-1.0
Boost.Compute Библиотека для GPU/параллельных вычислений на C++, основанная на OpenCL. BSL-1.0 cmake
Boost.Context Библиотека C++11, предоставляющая абстракцию кооперативной многозадачности в рамках одного потока. BSL-1.0
Boost.Interprocess Упрощает использование механизмов межпроцессного взаимодействия и синхронизации и предлагает широкий их спектр: shared memory, memory-mapped files, semaphores, mutexes, condition variables and upgradable mutex types, named versions of the synchronization objects, file locking, message queues. BSL-1.0
Boost.Lockfree Предоставляет неблокирующие (также известные как lock-free) конкурентные структуры данных: очередь, стек и кольцевой буфер (spsc_queue). BSL-1.0
Boost.MPI Удобный для C++ интерфейс к стандартному Message Passing Interface BSL-1.0
Boost.Thread Позволяет использовать несколько потоков выполнения с общими данными и предоставляет средства для синхронизации данных между потоками. BSL-1.0
concurrencpp Современная конкурентность для C++. Задачи, исполнители, таймеры и корутины C++20. MIT cmake
dispenso Высокопроизводительная конкурентность для C++. parallel_for, Futures, конвейеры, таймеры, отложенные/периодические задачи и конкурентные структуры данных. MIT cmake
Highway Предоставляет производительные, не зависящие от длины SIMD/векторные инструкции. Поддерживает: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER. ( Документация ) Apache-2.0 cmake
HPX Универсальная C++ runtime система для параллельных и распределенных приложений любого масштаба ( Документация ) BSL-1.0 cmake, vcpkg
Intel TBB Intel® TBB — это кроссплатформенная библиотека C++ для параллельного программирования с общей памятью и гетерогенных вычислений. Библиотека предоставляет: универсальные параллельные алгоритмы, конкурентные контейнеры, масштабируемый распределитель памяти, планировщик задач с воровством работы и низкоуровневые примитивы синхронизации. ( Исходный код ) ( Документация ) Apache-2.0 или Коммерческая cmake, make
KOKKOS Модель программирования для написания производительных переносимых HPC приложений, использующая CUDA, HIP, SYCL, HPX, OpenMP и потоки C++ в качестве бэкендов ( Документация ) Пользовательская cmake, make
libopenmpi Проект Open MPI представляет собой реализацию интерфейса передачи сообщений с открытым исходным кодом 3-clause BSD
libsimdpp Переносимая низкоуровневая SIMD библиотека для C++ с нулевыми накладными расходами. Boost header-only; cmake
MPL Удобный интерфейс для стандартного Message Passing Interface совместимый с C++-17 BSD 3-Clause "New" or "Revised" header-only; cmake
MutexGear Библиотека синхронизации только на мьютексах для C/C++: wheel, rwlock, maintlock, work queues The MutexGear Library configure, msvc, make
OpenMP Спецификация API OpenMP для параллельного программирования
PoCL Портативная переориентируемая реализация стандарта OpenCL с открытым исходным кодом (на основе LLVM). ( Исходный код ) ( Документация ) MIT cmake
RaftLib C++17 потокоподобные конкурентные акторы, позволяющие выполнять параллельные вычисления по потоку данных Apache-2.0 cmake
SObjectizer Небольшая кроссплатформенная фреймворк для конкурентных и событийно-ориентированных приложений на C++, использующая акторную модель и модель издатель-подписчик. BSD-3-Clause cmake, vcpkg, conan
stdgpu Эффективные STL-подобные структуры данных на GPU Apache 2.0 cmake
subprocess Кросс-платформенная библиотека C++17/20 для запуска подпроцессов MIT cmake, teaport
Taskflow Параллельное программирование задач в современном C++ TASKFLOW MIT cmake
task-thread-pool Быстрый и легковесный пул потоков для C++11 и новее. BSD-2-Clause или MIT или BSL-1.0 cmake, vcpkg, одиночный заголовок
ThreadPool Простой легковесный пул потоков BSD-3-Clause header-only; cmake, make
thread_pool Современный, быстрый, легковесный пул потоков MIT cmake
Thrust STL-подобные параллельные алгоритмы и структуры данных поверх CUDA, TBB или OpenMP Apache v2.0, Boost v1.0. cmake
TimerAlarm Таймеры и сигналы тревоги на основе потоков. BSD-3-Clause только заголовочные файлы; cmake, make
VexCL Библиотека векторных выражений на C++ для OpenCL, CUDA, OpenMP MIT cmake
ViennaCL Линейная алгебра и алгоритмы с бэкендами OpenMP, CUDA и OpenCL. ( Исходный код ) ( Документация ) Пользовательская cmake
Xenium Библиотека на C++17, предоставляющая различные конкурентные структуры данных и схемы рекламации. MIT header-only; cmake

Конфигурация

Библиотека Описание Лицензия Конфигурация
Boost.Program_options Библиотека позволяет получать параметры программы, то есть пары (имя, значение) от пользователя, с помощью стандартных методов, таких как командная строка, файл конфигурации и переменные окружения. BSL-1.0
figcone Чтение конфигураций JSON, YAML, TOML, XML или INI путем объявления структуры MS-PL cmake
gconfmm Кросс-платформенный (официальный) интерфейс C++ для популярной GUI библиотеки GTK, включая типобезопасные колбэки и комплексный набор виджетов, которые легко расширяются через наследование. gtkmm использует STL, включая string s, контейнеры и итераторы. Поддерживается UTF8. ( Исходный код ) ( Документация ) LGPLv2.1 autotools, meson, make
libconfig Простая кросс-платформенная библиотека C/C++ для обработки структурированных конфигурационных файлов ( "*.cfg" ) ( Исходный код ) ( Документация ) LGPL 2.1 autotools, cmake, make
libconfini Кросс-платформенный парсер INI, написанный на C ( Документация ) GPL-3.0 autotools, make
uconfig Легковесная библиотека конфигурации на C++17 Apache 2.0 header-only; cmake

Командная строка
Библиотека Описание Лицензия Конфигурация
Argh! Минималистичный обработчик аргументов. BSD 3-Clause header-only; cmake, vcpkg
argparse (hbristow) Облегченный C++ класс для разбора аргументов командной строки с интерфейсом, аналогичным одноименному классу python. BSD
argparse (morrisfranken) Легковесная библиотека для элегантного разбора аргументов командной строки. Apache 2 header-only; cmake
argparse (p-ranav) Парсер аргументов командной строки для C++17 MIT header-only; cmake, vcpkg
args Простая библиотека парсера аргументов для C++. MIT header-only; cmake, conan, meson, vcpkg
Boost.Program_options Библиотека позволяет получать параметры программы, то есть пары (имя, значение) от пользователя через стандартные методы, такие как командная строка, файл конфигурации и переменные окружения. BSL-1.0
CLI11 Парсер командной строки для C++11, предоставляющий богатый набор функций с простым и интуитивно понятным интерфейсом. BSD-3-Clause header-only; cmake, meson, vcpkg
clipp Мощный и выразительный парсинг аргументов для современного C++. MIT header-only; cmake, vcpkg
cmd_line_parser Парсер командной строки для C++17. MIT header-only; cmake
cmdlime Библиотека C++17 для разбора командной строки, предоставляющая лаконичный декларативный интерфейс с поддержкой подкоманд, валидаторов и возможностью выбора формата опций командной строки GNU, POSIX или X11. MS-PL cmake
cxxopts Легковесный парсер аргументов командной строки для C++11/C++17, поддерживающий стандартный синтаксис GNU для опций. MIT header-only; bazel, cmake
fire-hpp Создание полностью функциональных CLI с использованием сигнатур функций. BSL-1.0 header-only; cmake
flags Простой, расширяемый парсер аргументов для C++17. Unlicense header-only; cmake
gflags Библиотека, реализующая обработку флагов командной строки. Включает встроенную поддержку стандартных типов, таких как строка, и возможность определения флагов в исходном файле, в котором они используются. BSD cmake
structopt Разбор аргументов командной строки путем определения структуры. MIT header-only; cmake
tclap Простая C++ шаблонная библиотека для разбора аргументов командной строки. Библиотека предоставляет простой, гибкий объектно-ориентированный интерфейс. MIT cmake

CSS
Библиотека Описание Лицензия Конфигурация
mycss CSS Parser

HOCON
Библиотека Описание Лицензия Конфигурация
cpp-hocon Реализация формата HOCON на C++, разработанная компанией Pupplet.

JSON
**Примечание:** В данном фрагменте HTML нет текста для перевода на русский язык. Единственный текстовый элемент "JOST" является названием проекта/программы и не подлежит переводу согласно требованиям (не переводить C++ специфические термины и текст внутри тегов). Все HTML теги и атрибуты сохранены в оригинальном виде. **Примечание:** В данном фрагменте HTML нет текста для перевода, кроме названия "JSON++", которое является C++ специфическим термином и не подлежит переводу согласно вашим требованиям. Все HTML теги и атрибуты сохранены в оригинальном виде. **Примечание:** В данном фрагменте HTML нет текста для перевода, кроме названия проекта "libjson", которое является техническим термином и не подлежит переводу согласно вашим требованиям. Весь остальной контент состоит из HTML-тегов, атрибутов и пустых элементов, которые должны оставаться без изменений. **Примечание:** В данном фрагменте HTML нет текста для перевода, кроме термина "qjson", который является названием библиотеки C++ и не подлежит переводу согласно требованиям. Весь HTML-код и атрибуты сохранены в оригинальном виде.
Библиотека Описание Лицензия Конфигурация
ArduinoJson Библиотека JSON для C++98/11/14/17 для Arduino, IoT и встраиваемых систем на C++ MIT cmake
Boost.JSON Парсинг, сериализация и DOM JSON в C++11/17 BSL-1.0
cajun-jsonapi C++ API для JSON с акцентом на интуитивно понятный, лаконичный интерфейс, максимально приближенный к стандартному C++. make
DAW JSON Link Библиотека C++17, предоставляющая статические привязки C++ с проверкой типов, позволяющая парсить непосредственно в пользовательские структуры данных без выделения памяти библиотекой, режимы push/pull, поддержку аллокаторов, constexpr BSL 1.0 cmake
Glaze Одна из самых быстрых библиотек JSON (C++23) с прямой сериализацией памяти. Также поддерживает BEVE и CSV. MIT cmake, conan, build2, vcpkg
jansson Библиотека на C для кодирования, декодирования и манипуляции данными JSON с поддержкой UTF-8 MIT cmake, make
jeayeson Очень разумная C++14 JSON библиотека BSD-3 header-only
jios JSON потоки ввода-вывода MIT cmake
JOST
json JSON от Niels Lohmann для C++11 с интуитивным синтаксисом MIT header-only; bazel, cmake, meson
Jsonifier Несколько классов C++20 для чрезвычайно быстрого парсинга/сериализации JSON MIT cmake
JSON Voorhees Убийственный JSON для C++11 ( Документация ) Apache-2.0 cmake
JSON++
json11 Миниатюрная библиотека JSON для C++11, предоставляющая парсинг и сериализацию JSON. MIT cmake
JsonBox Библиотека C++ для удобного и быстрого чтения и записи JSON. MIT cmake
jsoncons Библиотека для JSON и JSON-подобных форматов данных, с поддержкой JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON. Custom header-only
jsoncpp Библиотека, позволяющая манипулировать JSON-значениями, включая сериализацию и десериализацию, с сохранением комментариев. MIT cmake, conan, vcpkg
libjson
minijson C++ библиотека для парсинга и сериализации JSON без DOM и аллокаций памяти Custom cmake
Neyson Легковесная библиотека JSON для C++11 BSD-3-Clause cmake
nosjob Библиотека на C++98 для генерации и обработки данных JSON MIT make
qjson
rapidjson Быстрый парсер/генератор JSON для C++ с API в стиле SAX/DOM, поддерживает UTF-8/16/32, опционально использует SIMD. ( Документация ) Пользовательская только заголовочные файлы; cmake, vcpkg
simdjson Парсинг гигабайтов JSON в секунду с использованием современных микроархитектур и параллелизации с помощью SIMD ( Документация ) ( Видео ) Apache-2.0 cmake, vcpkg
struct_mapping Осуществляет преобразование JSON в структуры C++ и обратно MIT cmake
swxJson Наиболее удобная C++ JSON библиотека в настоящее время. Чтение и запись сложных структур на любом уровне всего одним вызовом функции. Производительность составляет примерно половину от RapidJSON. MIT make
ThorsSerializer JSON/BSON/YAML Потоки ввода-вывода MIT make
ujson µjson - это небольшая библиотека JSON для C++11 с поддержкой UTF-8 cmake
yyjson Высокопроизводительная библиотека JSON, написанная на ANSI C MIT cmake

TOML
Библиотека Описание Лицензия Конфигурация
toml++ Парсер и сериализатор TOML для C++17 и новее
toml11 Библиотека для парсинга TOML на основе C++11

XML
Библиотека Описание Лицензия Конфигурация
ai-xml Сериализация объектов в XML и обратно путем добавления одной минимальной функции в класс. Использует libxml++ в основе. AGPL-3.0 make
GPDS Универсальный сериализатор данных для сериализации объектов в XML и обратно. Использует TinyXML в основе.
gSOAP Привязки данных XML
libxml++ libxml++ является C++ оберткой для библиотеки парсера XML libxml. ( Документация ) LGPL-2
pugixml Легковесный, простой и быстрый парсер XML для C++ с поддержкой XPath MIT cmake, conan
tinyxml
tinyxml2 Другая и находящаяся в разработке версия TinyXML.
Xerces

YAML
Библиотека Описание Лицензия Конфигурация
yaml-cpp Парсер и эмиттер YAML на C++ MIT cmake

Контейнеры

Библиотека Описание Лицензия Конфигурация
Boost.Bimap Библиотека двунаправленных отображений, которая предоставляет ассоциативные контейнеры, такие как bimap<X,Y> , в которых как X , так и Y могут использоваться в качестве ключа. ( Исходный код ) BSL-1.0
Boost.Container Библиотека, реализующая несколько известных контейнеров, включая контейнеры, подобные stdlib, а также рекурсивные контейнеры и новые полезные контейнеры: flat_map , flat_set , flat_multimap , flat_multiset , stable_vector , static_vector , small_vector , devector . ( Исходный код ) BSL-1.0 только заголовочные файлы
Boost.Fusion Библиотека для работы с гетерогенными коллекциями кортежей . Предоставляет набор контейнеров ( vector , list , set и map ), а также преобразованное представление их базовых данных, известное как представления ." ( Исходник ) BSL-1.0
Boost.Heap Реализация приоритетных очередей с большей функциональностью и различными характеристиками производительности, чем в стандартной библиотеке. ( Исходный код ) BSL-1.0
Boost.Pointer Container Предоставляет контейнеры для хранения объектов в динамической памяти в исключительно безопасном режиме и с минимальными накладными расходами. ( Исходный код ) BSL-1.0
Boost.Tuple Реализует n- tuple до стандарта C++11 (фиксированная коллекция элементов) ( Исходный код ) BSL-1.0
Boost.Variant Реализует пред-C++17 variant (безопасный, обобщенный, стековый размеченный union контейнер) ( Исходный код ) BSL-1.0
C++ Allocators Соответствующие стандартной библиотеке аллокаторы для статической памяти фиксированного размера и памяти на основе стека + другой соответствующий стандарту аллокатор, позволяющий пользовательское распределение границ BSD-3-Clause cmake, make
cpp-btree Контейнеры B-дерева более эффективно используют кэш процессора: btree_map , btree_set , btree_multimap , btree_multiset . ( Исходный код ) Apache-2.0 только заголовочные файлы; cmake
DataFrame C++ DataFrame для статистического, финансового и машинного анализа — в современном C++ с использованием нативных типов и непрерывного хранения памяти BSD-3-Clause cmake, make, conan, vcpkg
eggs::variant Eggs.Variant - это универсальная, типобезопасная, дискриминированная union для C++11/14/17. Особенно примечательна отличной поддержкой constexpr . BSL-1.0 cmake
Frozen C++14 constexpr неизменяемые наборы, отображения и алгоритмы на основе идеального хеширования. Apache-2.0 только заголовочные файлы; cmake
Immer Библиотека персистентных и неизменяемых структур данных Boost cmake
plf::colony Неупорядоченный контейнер "мешкообразного" типа, который превосходит std:: контейнеры в сценариях с высокой модификацией, сохраняя при этом действительные указатели на неудалённые элементы независимо от вставок и удалений. Совместим с C++98/11/14/etc. Смотрите также P0447 ( std::hive ). ( Исходный код ) zlib conan build2
plf::list Реализация std::list , которая жертвует возможностью слияния диапазонов в пользу кэш-дружественности, обеспечивая более быструю вставку, удаление и итерацию. Совместима с C++98/03/11/14/17/20/23/26/etc. ( Исходный код ) ( Документация ) zlib
plf::reorderase Расширение и оптимизация идиомы "swap-and-pop"/"move-and-pop" для контейнеров с произвольным доступом для повышения производительности удаления в random_access контейнерах, когда порядок после удаления не важен. Охватывает одиночные, диапазонные и std::erase_if -стиль удалений. Совместимо с C++98/11/14/etc. ( Исходный код ) zlib
plf::queue Контейнер-замена для std::queue с лучшей производительностью, чем std::deque и std::list в контексте очереди. Совместим с C++98/11/14/etc. ( Исходный код ) zlib
plf::stack Контейнер-замена для std::stack с лучшей производительностью, чем std::vector и std::deque в контексте стека. Совместим с C++98/11/14/etc. ( Исходный код ) zlib
ring_span Облегчённая реализация ring_span Артура О'Двайера, также известная как представление кольцевого буфера. Совместимо с C++98. BSL-1.0 Только заголовочные файлы; cmake
strict_variant Реализация variant, совместимая с realtime/embedded-системами (т.е. работает с -fno-exceptions / -fno-rtti ), никогда не бывает пустой, предназначена для C++11. Быстрая, предотвращает множество нежелательных неявных преобразований. BSL-1.0 cmake
tiny::optional Замена для std::optional , которая позволяет использовать сторожевые значения для устранения накладных расходов на хранение в памяти. BSL-1.0 cmake
Ygg Интрузивная C++11 реализация высокопроизводительных контейнеров и структур данных, таких как Красно-чёрное дерево , Интервальное дерево и Интервальная карта. MIT header-only; cmake

Криптография

Библиотека Описание Лицензия Конфигурация
Botan Набор инструментов для криптографии. ( Исходный код ) BSD 2-Clause "Simplified" make
crypto++ Свободная библиотека классов C++ криптографических схем. ( Исходный код ) Boost make
gnutls Библиотека безопасных коммуникаций, реализующая протоколы SSL, TLS и DTLS и связанные с ними технологии. ( Исходный код ) LGPL-2.1 make
openssl Надежный, коммерческого уровня, полнофункциональный набор инструментов для криптографии общего назначения и безопасной коммуникации. ( Исходный код ) Apache-2.0 make
TomCrypt Довольно комплексный, модульный и портативный набор криптографических инструментов, предоставляющий разработчикам обширный набор известных опубликованных блочных шифров, однонаправленных хеш-функций, режимов сцепления, генераторов псевдослучайных чисел, криптографии с открытым ключом и множества других процедур. ( Исходный код ) public domain cmake, make

Базы данных

Библиотека Описание Лицензия Конфигурация
Boost::MySQL Библиотека клиента MySQL BSL-1.0
cpp-redis C++11 Легковесный клиент Redis: асинхронный, потокобезопасный, без зависимостей, конвейеризация, кроссплатформенный. ( Документация ) MIT cmake
DTL Представляет ODBC record-sets как STL контейнер ( Исходники ) ( Документация )
EasyQtSql Легковесная библиотека на C++11 (на основе Qt) для быстрого и простого выполнения SQL-запросов MIT header-only; qmake
Galera Galera Cluster — это библиотека синхронной мультимастерной репликации (Galera) и API Write Set Replication (WSREP) для MySQL/MariaDB ( Исходный код ) GPLv2 cmake, scons
LevelDB C++ библиотека, разработанная Google, которая обрабатывает хранилище данных Key-Value миллиардного масштаба. ( Документация ) BSD-3 cmake
libpqxx Коннектор C++ для PostgreSQL ( Исходный код ) BSD-3 cmake, make
lmdb++ C++11 обёртка для библиотеки встроенной базы данных LMDB с B+ деревьями. Unlicense make
mongocxx Официальная библиотека драйвера C++11 для MongoDB ( Документация ). Она предоставляет оптимизированные API для CRUD операций, индексирования и агрегации. Поддерживая BSON и обладая пулом соединений и механизмами аутентификации, она обеспечивает высокопроизводительные и масштабируемые решения для создания C++ приложений, использующих MongoDB. Apache 2.0 cmake
mysql++ База данных MySQL и инструменты
nanodbc Небольшая кроссплатформенная обёртка C++14 для нативного C ODBC API MIT cmake
ODB Открытая, кроссплатформенная и кроссплатформенная система объектно-реляционного отображения (ORM) для C++. ODB поддерживает реляционные базы данных MySQL, SQLite, PostgreSQL, Oracle и Microsoft SQL Server, а также стандарты языка C++98/03 и C++11. GPL2 и/или NCUEL
OTL Библиотека баз данных на основе шаблонов C++ для Oracle DB, ODBC и DB2-CLI. ( Исходный код )
Pgfe API клиента PostgreSQL (FrontEnd) на современном C++ Zlib cmake
QTL Дружелюбная и легковесная C++ библиотека для работы с базами данных MySQL, SQLite и ODBC. Apache-2.0 make
QUINCE QU ерии IN C ++ E выражения (ORM+EDSL) Boost
QxOrm Библиотека O бъектно- R еляционного M аппинга (ORM) для C++/Qt, поддерживает большинство распространенных баз данных, сериализацию (JSON, бинарную, XML); автономный многопоточный HTTP веб-сервер GPLv3 или Проприетарная
redis-cpp Облегченная клиентская библиотека C++17 для выполнения команд Redis. MIT header-only; cmake
redis-plus-plus Клиент Redis, написанный на C++ 11, поддерживающий Redis Sentinel, Redis Cluster, конвейерную обработку, транзакции, pubsub, пул соединений и интерфейс в стиле STL Apache-2.0 cmake
SOCI Библиотека для работы с базами данных на основе плагинов, которая встраивает SQL-запросы в обычный код C++; поддерживаемые бэкенды включают: DB2, Firebird, MySQL, ODBC (универсальный бэкенд), Oracle, PostgreSQL, SQLite3. ( Исходный код ) ( Документация ) Boost cmake
SQLAPI++ Промежуточное программное обеспечение C++ для работы с базами данных, поддерживающее множество SQL-систем: Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, SQLite, Informix, InterBase / Firebird, SQLBase, SQL Anywhere, ODBC, MariaDB. ( Исх. код ) ( Документация ) Индивидуальная make
SQLiteCPP Простая и удобная в использовании оболочка C++ для SQLite3. MIT cmake, meson, vcpkg
SQLite ORM Встроенный Я зык П редметно- О риентированной С пециализации (ЯПОС) для SQL, поддерживаемый SQLite, для современного C++. AGPL-3.0, MIT header-only; cmake, vcpkg
sqlpp11 Типобезопасный встроенный предметно-ориентированный язык для SQL-запросов и результатов в C++. BSD-2 cmake
taoPQ Легковесная клиентская библиотека C++17 для PostgreSQL Boost cmake

Привязки встроенных языков

Библиотека Описание Лицензия Конфигурация
AngelScript Скриптовый язык, похожий на C++. ZLib
ChaiScript Простой в использовании встраиваемый скриптовый язык для C++. BSD-3-Clause
cling Интерактивный интерпретатор C++, построенный на основе Clang и LLVM для использования RAD, создания скриптов, встраиваемого скриптования и генерации кода во время выполнения. ( Src ) Custom / LGPL cmake
ExprTk Простой в использовании, легкий в интеграции и чрезвычайно эффективный парсер математических выражений и механизм вычислений в режиме реального времени. ExprTk поддерживает множество форм функциональной, логической и векторной обработки и легко расширяем.
Jinx Скриптовый язык, разработанный для видеоигр. MIT cmake
spidermonkey.dev Движок JavaScript и WebAssembly от Mozilla.
muparser Расширяемая высокопроизводительная библиотека парсинга математических выражений, написанная на C++. BSD-2-Clause cmake
PythonQt Динамическая привязка Python для фреймворка Qt. Предлагает простой способ встраивания скриптового языка Python в приложения C++ Qt. LGPL 2.1
lua Легковесный мультипарадигменный скриптовый язык, разработанный в первую очередь для встраиваемого использования. Библиотека на C. MIT make
sol2 Современная библиотека C++ для привязки к Lua. MIT header-only; cmake
v8pp Привязывает функции и классы C++ к движку JavaScript V8. BSL-1.0 header-only; cmake

Встроенные/Реального времени

Библиотека Описание Лицензия Конфигурация
distortos Объектно-ориентированная RTOS на C++11 для микроконтроллеров (ARM, STM32) ( Исходный код ) ( Документация ) MPL-2.0 cmake
ETL E mbedded T emplate L ibrary - C++03, портативная библиотека шаблонов, оптимизированная для платформ с ограниченными ресурсами (embedded) ( Исходный код ) MIT
QP/C++ RTOS ядро: фреймворки реального времени для встраиваемых систем на основе активных объектов и конечных автоматов GPLv3
µcuREST C++11 REST/JSON серверный фреймворк для микроконтроллеров

Метаданные файла

Библиотека Описание Лицензия Конфигурация
exempi
exiv2
libkexiv2
rarian

Финансовые расчеты

Библиотека Описание Лицензия Конфигурация
DataFrame C++ DataFrame для статистического, финансового и ML анализа — в современном C++ с использованием нативных типов и непрерывного хранения памяти BSD-3-Clause cmake, make, conan
QuantLib Библиотека количественных финансов — свободная/открытая библиотека для количественных финансов modified BSD

Архитектура игрового движка

Библиотека Описание Лицензия Конфигурация
Anax Открытая C++ система сущностей MIT cmake
Anura Полнофункциональный игровой движок и технология, лежащая в основе Frogatto & Friends . Пользовательская Open Source make, vcpkg
BOX2D Физический движок MIT cmake
EntityPlus C++17 Entity Component System BSD-1.0 cmake
EntityX Быстрая типобезопасная C++ Entity-Component система MIT cmake
EnTT Компактная библиотека для разработки игр и не только, написанная на современном C++ MIT header-only; cmake, bazel, conan, vcpkg, brew, cppget

Общая Мультимедиа

Библиотека Описание Лицензия Конфигурация
Kigs-framework Модульный многоцелевой кроссплатформенный фреймворк MIT
openFrameworks MIT
SDL S imple D irectMedia L ayer: кроссплатформенная (Windows, macOS, Linux, iOS, Android и другие) библиотека низкоуровневого доступа к аудио, клавиатуре, мыши, джойстику и графическому оборудованию через графический API платформы (OpenGL/Direct3D/Metal/Vulkan) ( Doc ) ( Src ) zlib cmake
SFML S imple and F ast M ultimedia L ibrary; мультиплатформенная (Windows, Linux, macOS и скоро Android & iOS); предоставляет простой интерфейс для упрощения разработки игр и мультимедийных приложений. Состоит из пяти модулей: system, window, graphics (над OpenGL), audio и network. zlib/png cmake
SIGIL S ound, I nput, and G raphics I ntegration L ibrary; простая, кроссплатформенная, минималистичная библиотека для работы с текстом, фигурами, вводом, аудио и 2D изображениями. Поддерживаемые платформы: Windows, Linux и Raspberry Pi License cmake

Обобщённый

**Примечание:** В данном случае весь текст, требующий перевода, состоит только из слова "Reason", которое является названием продукта/библиотеки и не подлежит переводу. Остальной текст представляет собой технические термины (XML, xpath и т.д.) и лицензию (GPL), которые также сохраняются в оригинале согласно требованиям.
Библиотека Описание Лицензия Конфигурация
Abseil Открытая коллекция кода C++ библиотек от Google, предназначенная для расширения стандартной библиотеки C++. ( Документация ) ( Исходный код ) Apache-2.0 cmake
Абстрактные интрузивные контейнеры Более гибкие, чем Boost.Intrusive , но не совместимые со STL.
Au Библиотека физических единиц измерения для C++14 без зависимостей, с акцентом на безопасность, доступность и производительность. ( Документация ) Apache 2.0 header-only
BDE Основные библиотеки среды разработки Bloomberg от Bloomberg L.P. Apache
Better Enums Рефлексивные перечисления (enum в строку, итерация и т.д.) с поддержкой constexpr. BSD-2 header-only, cmake, make
bitfield.h Структура для работы с битовыми полями, более портативная/гибкая, чем встроенная возможность языка.
Boost Большая коллекция универсальных библиотек BSL-1.0
CAF The C++ Actor Framework (CAF) - это реализация модели акторов на C++11 с открытым исходным кодом, включающая легковесные и быстрые реализации акторов, сопоставление с образцом для сообщений, сетевое прозрачное взаимодействие и многое другое BSD
Cinder Сообществом разрабатываемая, бесплатная библиотека с открытым исходным кодом для профессионального творческого программирования на C++. ( Документация ) ( Исходный код ) Modified BSD cmake
CommonPP Многоцелевая библиотека с сильным акцентом на получение метрик из проекта. BSD
composite_op.h Базовый интроспекция членов данных класса, громоздкая и часто не реентерабельная, но иногда полезная.
cpp-mmf Библиотека C++98, инкапсулирующая файлы, отображаемые в память, для POSIX или Windows
cxxomfort Бэкпорты функций C++ (C++11 в C++03 и предложения C++1y в C++11/C++03).
Dlib Сетевое взаимодействие, потоки, графические интерфейсы, структуры данных, линейная алгебра, машинное обучение, парсинг XML и текста, численная оптимизация, байесовские сети и множество других задач Boost
eventpp Библиотека событий на C++ для колбэков, диспетчера событий и очереди событий. С eventpp вы можете легко реализовать механизм сигналов и слотов, паттерн издатель-подписчик или паттерн наблюдатель. Apache 2.0
fcppt Freundlich's C++ Toolkit (fcppt) — это набор библиотек, ориентированных на улучшение общего C++ кода за счёт предоставления лучших типов и использования функционального программирования.
Folly Библиотека Facebook с открытым исходным кодом. Кросс-платформенная библиотека компонентов C++14, разработанная с учетом практичности и эффективности. ( Документация ) Apache-2.0 cmake, vcpkg
GSL Реализация библиотеки поддержки G uidelines S upport L ibrary для C++ Core Guidelines, рекомендованная Бьярном Страуструпом, Хербом Саттером и другими в C++ Core Guidelines MIT cmake, vcpkg
gsl-lite Версия библиотеки поддержки рекомендаций ISO C++ (GSL) для C++98, C++11 и более поздних версий MIT только заголовочные файлы
GUL14 Универсальная библиотека утилит для C++14 от DESY : Часто используемые служебные функции и типы, включая утилиты для работы со строками, статистические и численные функции, контейнеры, средства отладки и т.д. ( Исходный код ) LGPL-2.1 meson, vcpkg
History Современный C++17 Фреймворк Отмены/Повтора Unlicense
hspp Экспериментальная библиотека для внедрения стиля программирования Haskell в C++. Apache-2.0 header-only
IP-DOS (tm) IdeaFarm (tm) Piggyback Distributed Operating System: Универсальная среда программирования для языка C++. Проприетарное открытое программное обеспечение Open Watcom 2.0
JUCE Обширный, зрелый, кроссплатформенный инструментарий C++ GPL
Kangaru Контейнер для внедрения зависимостей для C++11 и C++14 MIT
Kerbal Бэкпорты современных возможностей STL в предыдущие стандарты. Больше функций! Больше constexpr! LGPL-3.0 header-only; cmake
libsourcey Кросс-платформенная библиотека C++14 для высокоскоростных сетевых операций и кодирования медиа. HTTP, WebSockets, TURN, STUN, Symple и другие. LGPL-2.1 cmake
LLNL/units Библиотека C++ времени выполнения для работы с единицами измерения и преобразованиями между ними, а также с строковыми представлениями единиц и измерений BSD 3-Clause "New" или "Revised" cmake
Loki Библиотека C++, содержащая гибкие реализации распространенных шаблонов проектирования и идиом. MIT make
match(it) Легковесная библиотека для сопоставления с образцом для C++17 с API без макросов. Apache-2.0 header-only
nonstd-lite Список *-lite репозиториев (например, span-lite , scope-lite , expected-lite ), содержащих реализации C++98/11 для некоторых предложенных или уже стандартизированных библиотечных типов C++17/20/23, таких как std::span , std::expected и др.). BSL-1.0 header-only
nytl Универсальная C++17 библиотека утилитарных шаблонов. BSL-1.0 только заголовочные файлы
OnPosix Библиотека C++, предоставляющая несколько абстракций (например, многопоточность, сетевое взаимодействие, логирование, межпроцессное взаимодействие и т.д.) на платформах POSIX.
Reason XML, xpath, regex, threads, sockets, HTTP, SQL, date-time, streams, encoding and decoding, filesystem, compression GPL
SaferCPlusPlus Безопасные совместимые замены для небезопасных примитивов C++, включая указатели, int и std::vector . Boost
Smart Enum to_string , from_string и другие функции для ваших перечислений. BSL-1.0 cmake
units Библиотека для анализа размерностей и преобразования единиц измерения во время компиляции, построенная на C++14 без зависимостей MIT header-only
yaal Y ещë A бстрактный A бстрактный L ой - алгоритмы, коллекции, вычисления произвольной точности, парсеры на основе грамматик generic-DSL и многое другое CC BY-ND-NC 4.0 cmake
Yato Современная кроссплатформенная библиотека на C++(14/17) в стиле STL и совместимая с STL, реализующая контейнеры, диапазоны, итераторы, признаки типов и другие инструменты; система акторов; типобезопасный интерфейс конфигурации. Apache-2.0 cmake
yomm2 Открытые мультиметоды для C++17 Boost
zoolib ZooLib - это многофункциональный C++ инструментарий. MIT

GPS

Библиотека Описание Лицензия Конфигурация
gpsd Открытое кроссплатформенное (Linux/Unix/BSD варианты, включая Android и OS X) GPS-ориентированное набор инструментов, такой как демон-переводчик и репликатор для GPS-устройств, AIS-радиостанций и других навигационных сенсоров. gpsd в основном написан на C и Python, но также имеет C++ wrapper. gpsd повсеместно используется в мобильных встроенных системах. Каждое приложение на Android с определением местоположения косвенно является клиентом gpsd . ( Документация ) ( Исходный код ) BSD 2-clause scons

Графический пользовательский интерфейс

Библиотека Описание Лицензия Конфигурация
Brisk Кроссплатформенный модульный GUI-фреймворк на C++20 с реактивными возможностями и масштабируемым, ускоренным на GPU рендерингом. ( Исходный код ), ( Документация ) GPL2+/Proprietary cmake, vcpkg
Dear ImGui Легковесная GUI-библиотека для C++ с минимальными зависимостями, портативная, независимая от рендерера, оптимизированная для использования в приложениях с поддержкой 3D-конвейера. MIT vcpkg
FLTK Кроссплатформенный GUI-тулкит на C++ (Linux, Windows, MacOS), предоставляющий современную GUI-функциональность и поддерживающий 3D-графику через OpenGL/GLUT. Разработан для компактности и модульности. Включает конструктор интерфейсов. LGPL ver.2
nana Кроссплатформенное GUI-программирование в современном стиле C++. ( Исходный код ), ( Документация ) BSL-1.0 cmake, vcpkg
nanogui Минималистичная кроссплатформенная библиотека виджетов для OpenGL 3.x и выше ( Документация )
OWLNext Современное обновление OWL для создания GUI-приложений на стандартном C++ в Windows
Slint Декларативный GUI-тулкит для создания нативных пользовательских интерфейсов для десктопа, встроенных систем и микроконтроллеров. ( Исходный код ), ( Документация ) GPL 3, Royalty-free , или Commercial cmake
tiny file dialogs Набор кроссплатформенных файловых диалогов на C/C++ (без инициализации, без основного цикла, 6 модальных вызовов функций) header-only
U++ Кроссплатформенный (Windows, GNU/Linux, macOS) фреймворк для быстрой разработки приложений со встроенной IDE. Совместим с C++17. ( Документация ) ( Исходный код ) BSD-3-Clause make
WxWidgets Бесплатный и открытый кроссплатформенный (Windows, GNU/Linux, macOS) C++ фреймворк для создания продвинутых GUI-приложений с использованием нативных элементов управления. ( Документация ) Modified LGPL cmake, make
xtd Современный C++17/20 фреймворк для создания консольных, GUI и unit test приложений на Windows, macOS, Linux, iOS и Android. ( Исходный код ) ( Документация ) MIT cmake

CopperSpice
Библиотека Описание Лицензия Конфигурация
CopperSpice Набор библиотек C++ для разработки кроссплатформенных программных приложений. Использует современный идиоматический C++ и бесшовно интегрируется с STL. CopperSpice был создан на основе фреймворка Qt. ( Документация ) ( Исходный код ) LGPL-2.1 cmake
CsSignal Автономная библиотека сигналов/слотов C++ с поддержкой многопоточности LGPL-2.1 cmake
CsString Автономная библиотека строк C++ с поддержкой Unicode LGPL-2.1 cmake
libGuarded Автономная многопоточная библиотека C++ для управления доступом к общим данным LGPL-2.1 cmake

GTK+
Библиотека Описание Лицензия Конфигурация
evince
flowcanvas
glibmm
goocanvasmm
gtkmm Кросс-платформенный C++ интерфейс для GTK+ GUI библиотеки. LGPL
libglademm
libgnomecanvasmm
webkitgtk

Qt
Библиотека Описание Лицензия Конфигурация
libdbusmenu-qt Небольшая библиотека, предназначенная для простого и удобного совместного использования и отображения структур меню через DBus. Работает как с QT, так и с GTK+ и упрощает построение меню.
Qt ( Документация ) ( Исходный код )
QuickQanava Библиотека визуализации сетей/графов на C++14 / Qt редактор узлов. BSD 2.0 cmake
qwt5 Виджеты Qt для технических приложений
qwtplot3d

U++
Библиотека Описание Лицензия Конфигурация
U++ Кросс-платформенная среда быстрой разработки приложений на C++, ориентированная на производительность программистов. Включает набор библиотек (GUI, SQL и др.) и интегрированную среду разработки. ( Исх.код/Бинарники ) BSD
upp-components Коллекция сторонних пакетов для U++, таких как TerminalCtrl , MessageCtrl и др. BSD-3-Clause

Графика

Библиотека Описание Лицензия Конфигурация
bgfx Мощная кроссплатформенная (Windows, Mac, Linux, iOS, Android, Web) 2D/3D графическая библиотека с поддержкой шейдеров и бэкендами рендеринга: DX, OpenGL, Metal, WebGL, Vulkan и др. ( Документация ) BSD-2 make
cairomm C++ обертка для графической библиотеки cairo , которая представляет собой 2D библиотеку с поддержкой множества выходных устройств: X Window, Quartz, Win32, буферы изображений, PostScript, PDF, SVG, OpenGL (экспериментально). LGPL
dfpsr 2D, 3D и изометрический программный рендерер с набором инструментов для графического интерфейса, минимальными зависимостями, разработанный для длительного сопровождения и способный работать без драйверов 3D-ускорения zlib
gegl Ge neric G raphics L ibrary (GEGL) — это фреймворк для обработки изображений на основе потока данных, обеспечивающий обработку с плавающей точкой и возможности неразрушающей обработки изображений. ( Исходный код ) LGPL
io2d Референсная реализация P0267 , предлагаемого 2D графического API для ISO C++ BSL-1.0 cmake
nanovg Сглаженная 2D векторная библиотека для рисования на C поверх OpenGL для пользовательских интерфейсов и визуализаций, с портами для DX11/Metal/bgfx. zlib
nux Набор инструментов OpenGL LGPL v3
pangomm Официальный C++ интерфейс для библиотеки Pango верстки шрифтов. ( Исходный код ) LGPL v2.1 make
Skia Открытая 2D-графическая библиотека, написанная на C++. Skia Graphics Engine используется в Google Chrome, Chrome OS, Mozilla Firefox, Android, LibreOffice, Flutter и др. Skia имеет несколько бэкендов: программная растеризация, вывод (PDF), OpenGL, SVG и др. New BSD
TXLib TX Library — это компактная 2D графическая библиотека для Win32, написанная на C++.
ULIS Кроссплатформенная библиотека C++14 для общей цифровой обработки изображений, 2D программный растеризатор, неограниченные форматы изображений ( u8 , u16 , u32 , float , double ), Пользовательская организация памяти с битовым порядком, Все режимы наложения пикселей Photoshop + 11 дополнительных режимов, Цветовые модели (RGB, HSL, HSV, CMYK, ...), Управляемые цветом конвейеры, Поддержка цветовых пространств (профили icm и независимые от устройства), Оптимизированные алгоритмы с многопоточностью, Оптимизированные алгоритмы с SIMD расширениями (SSE2), Пул изображений и кэши для оптимизаций, Хранение в памяти анимированных последовательностей изображений. Пользовательская (бесплатная только для некоммерческого использования) cmake

Графика (3D)

Библиотека Описание Лицензия Конфигурация
assimp Загрузка 3D моделей BSD-3 cmake, vcpkg
bgfx Кросс-платформенная, независимая от графического API, рендеринговая библиотека в стиле "Bring Your Own Engine/Framework". BSD-2 make, vcpkg
Diligent Engine Современная кроссплатформенная низкоуровневая библиотека 3D графики. Apache-2.0 cmake
Epoxy Современная замена GLEW. Абстрагирует различия между некоторыми типами GL контекстов, что иногда делает её проще в использовании, чем GLEW. Используется проектом GTK+ с 2015 года. MIT meson, vcpkg
G3D The G3D Innovation Engine — это полнофункциональный, открытый, кроссплатформенный (Windows, Linux, Mac OS) 3D игровой движок, написанный на C/C++. G3D используется в коммерческих играх, научных работах, симуляторах и университетских курсах. Он поддерживает аппаратный рендеринг в реальном времени и оффлайн, трассировку лучей, загрузку моделей, линейную алгебру и GP-вычисления на GPU. Поддерживает форматы 3DS, OBJ, MP4, PNG, JPG, MD3 и многие другие, включает нативный OpenGL GUI с поддержкой скинов. ( Исходный код ) ( Документация ) BSD-2
GLAD Настраиваемая, легковесная библиотека для загрузки функций OpenGL
GLEW Загрузчик функций OpenGL ( Исходный код ) EXTGL/BSD/MIT make, vcpkg
GLFW Менеджер окон OpenGL ( Исходный код ) ( Документация ) zlib/libpng cmake, vcpkg
GLM The Open GL M athematics (GLM) — это C++ библиотека математики для графического программного обеспечения, основанная на GLSL спецификации. The Happy Bunny /
MIT
header-only; cmake, vcpkg
Godot Полнофункциональный кроссплатформенный движок для 2D и 3D игр на C++17 с графическим редактором, написанным на самом движке, и языком сценариев, вдохновлённым Python. MIT scons
hlsl++ C++ математическая библиотека для рендеринга с использованием синтаксиса HLSL. Поддерживает SSE и NEON MIT header-only
Horde3D Небольшой движок рендеринга 3D с открытым исходным кодом. Разрабатывается с целью создания графического движка, который предоставляет потрясающие визуальные эффекты, ожидаемые в играх следующего поколения, будучи легковесным и максимально чистым. EPL
Irrlicht Irrlicht Engine — это open-source движок реального времени для 3D, написанный на C++. Он кроссплатформенный, использует D3D, OpenGL и собственные программные рендереры. zlib/libpng make, vcpkg
klein Библиотека проективной геометрической алгебры на C++11/14/17 с оптимизацией SSE для графики и анимации MIT cmake, vcpkg
Magnum Легковесный и модульный графический middleware на C++11/C++14 для игр и визуализации данных ( Исходный код ) Пользовательская cmake
O3DE O pen-source 3D E ngine (бывший Amazon's Lumberyard) — это кроссплатформенный 3D-движок на C++ для создания AAA-игр, кинематографических 3D-миров и высокоточной симуляции. Включает физическую симуляцию, скриптовый движок, сетевые возможности и многое другое . ( Документация ) Apache 2.0 cmake
Ogre3D OGRE - это объектно-ориентированный графический движок рендеринга - многоцелевая библиотека визуализации, подходящая для научной визуализации, игр, симуляции, виртуальной реальности и других графических проектов. Она кроссплатформенная и очень надежная, с хорошей документацией. MIT cmake, vcpkg
Open CASCADE SDK для приложений 3D CAD/CAM/CAE ( Исходный код ) LGPL-2.1 cmake
OpenGL 3D язык, графика и SDK для разработки 3D приложений. Khronos (MIT)
OpenSceneGraph OpenSceneGraph - это высокопроизводительный инструментарий для 3D-графики с открытым исходным кодом, используемый разработчиками приложений в таких областях, как визуальное моделирование, игры, виртуальная реальность, научная визуализация и моделирование. ( Исходный код ) ( Документация ) Пользовательская,
GNU LGPL
cmake, vcpkg
Visionaray Шаблонная библиотека трассировки лучей на C++. MIT cmake
VTK Visualization Toolkit (VTK) — это программное обеспечение с открытым исходным кодом для обработки и визуализации научных данных. Оно включает современные инструменты для 3D-рендеринга, набор виджетов для 3D-взаимодействия и расширенные возможности 2D-построения графиков. BSD-3 cmake, vcpkg
Vulkan Низкоуровневый API, который устраняет многие абстракции, присутствовавшие в графических API предыдущего поколения. Это отлично подходит для достижения максимальной производительности, но имеет побочный эффект в виде раскрытия большей сложности для разработчика. К счастью, существует несколько превосходных руководств, которые помогают преодолеть этот барьер и быстро начать продуктивную работу. Khronos (MIT) make, vcpkg

Изображения

Библиотека Описание Лицензия Конфигурация
Adobe/boost GIL Высокоуровневая универсальная библиотека, ориентированная на алгоритмы для работы с 2D-изображениями. Очень ограниченные возможности ввода-вывода. BSL-1.0
agge Anti-Grain Evolution. 2D-графический движок для скорости и качества в C++ MIT cmake
FreeImage Открытая библиотека для разработчиков, желающих поддерживать популярные графические форматы изображений, такие как PNG, BMP, JPEG, TIFF и другие GPLv2, GPLv3, FIPL
FreeImageRe Форк открытой библиотеки FreeImage v3.18 для поддержки обновлений кодеков изображений и адаптации для удобного использования. Все оригинальные форматы и плагины сохранены. GPLv2, GPLv3, FIPL cmake
GraphicsMagick Чтение, запись и манипуляция изображениями в более чем 88 основных форматах. Ответвлен от ImageMagick в 2002 году Copyright Mercurial
SAIL Чтение и запись статических, анимированных, многостраничных изображений вместе с их метаданными и ICC-профилями. Возможности конвертации. Нацелена на простоту и скорость. MIT cmake
stb Набор библиотек для разработки игр на C/C++, включающий загрузчик/записыватель/изменятель размера изображений, растризатор текста шрифтов, типобезопасные контейнеры, декодер ogg vorbis, компрессор DXT в реальном времени, генератор шума Перлина, лексер для предметно-ориентированных языков, быстрый sprintf и многое другое. MIT, Custom header-only
ThorVG Thor Vector Graphics — это легкая портативная библиотека для рисования векторных сцен и анимаций, включая SVG и Lottie. Может свободно использоваться на различных программных платформах и в приложениях для визуализации графического содержимого. ( Src ) MIT conan, meson, msys2, vcpkg

Форматы
Библиотека Описание Лицензия Конфигурация
djvulibre
imagemagick
Kaitai Struct C++ runtime
libraw
openexr
poppler
qimageblitz
SVG++

Построение графиков
Библиотека Описание Лицензия Конфигурация
Matplot++ C++ библиотека для визуализации данных на основе gnuplot . Matplot++ может использовать следующие библиотеки: OpenCV, OpenGL, LAPACK, BLAS, FFTW, JPEG, TIFF, ZLIB, PNG, GLAD, GLFW3. ( Документация ) MIT cmake
plotutils Пакет GNU plotutils содержит libplot , библиотеку C/C++ для экспорта 2D векторной графики во многих форматах файлов, как векторных, так и растровых. libplot может анимировать 2D векторную графику и использует API, подобный Postscript, для экспорта файлов и анимации графики. GPL
sciplot Современная C++ библиотека для научного построения графиков на основе gnuplot , с экспортом в PDF, SVG, PNG, EPS и др. MIT header-only; cmake, vcpkg

Обработка изображений

Библиотека Описание Лицензия Конфигурация
dlib
Halide Встроенный DSL в C++ для высокопроизводительной обработки изображений и тензоров. MIT cmake, vcpkg
ITK - Insight Toolkit ITK - это кроссплатформенная библиотека с открытым исходным кодом, предоставляющая разработчикам обширный набор инструментов для анализа изображений. Разработанная с использованием методологий экстремального программирования, ITK построена на проверенной пространственно-ориентированной архитектуре для обработки, сегментации и регистрации научных изображений в двух, трех или более измерениях. Apache 2.0 cmake
opencv
OTB

Интернационализация

Библиотека Описание Лицензия Конфигурация
gettext GNU библиотека интернационализации. GPL make
ICU I nternational C omponents for U nicode - это зрелый, широко используемый набор библиотек C/C++, предоставляющий поддержку Unicode и глобализации для программных приложений. ( Исходный код ) icu4c/LICENSE make
spirit-po Небольшая библиотека, которая парсит po-файлы и предоставляет интерфейс, аналогичный GNU libintl. Основана на boost::spirit. BSL-1.0 header-only
uni-algo Реализация алгоритмов Unicode для C/C++ MIT/Unlicense cmake, conan, vcpkg

Логирование

Библиотека Описание Лицензия Конфигурация
Backward Вывод красивых трассировок стека в стиле Python с цветами и фрагментами исходного кода, особенно при сбоях. MIT header-only; cmake, conan
Boost.Log Кросс-платформенная библиотека логирования, простая в использовании, расширяемая и производительная. BSL-1.0
clutchlog Однозаголовочная система логирования, ориентированная на универсальную ОТЛАДКУ вместо хранения событий сервиса. BSD cmake
cpptrace Простая, портативная и самодостаточная библиотека трассировки стека для C++11 и новее. Включает сигнально-безопасные трассировки стека, трассировки стека при исключениях, фрагменты исходного кода и т.д. MIT cmake, conan, vcpkg
glog Библиотека логирования Google для C++98 на основе потоков в стиле C++ Лицензия bazel, cmake, vcpkg
libassert Полнофункциональная библиотека утверждений для C++, предоставляющая высококачественную диагностику при сбоях утверждений. MIT cmake, conan, vcpkg
Log4cplus Кросс-платформенный API логирования для C++17 (созданный по образцу Java log4j API), обеспечивающий потокобезопасный, гибкий и произвольно детализированный контроль над управлением и конфигурацией логов. BSD (двухпунктная) или Apache 2.0 Autotools, cmake, Visual Studio
Log4cpp Библиотека классов C++ для гибкого логирования в файлы, syslog, IDSA и другие назначения. LGPL
log4cxx Apache log4cxx — это фреймворк логирования для C++, созданный по образцу Apache log4j. ( Исходный код ) Apache cmake
lwlog Чрезвычайно быстрая синхронная и асинхронная библиотека логирования для C++17 MIT cmake
Pantheios Библиотека API диагностического логирования, предлагающая комбинацию типобезопасности, эффективности, универсальности и расширяемости BSD-style
plog Портативный и простой лог для C++ менее чем в 1000 строках кода MPL-2.0
Quill Кросс-платформенная, асинхронная библиотека логирования для C++14 с низкой задержкой MIT cmake
spdlog Очень быстрая библиотека логирования для C++ MIT header-only; cmake, conan

Обработка ошибок

Библиотека Описание Лицензия Конфигурация
Boost.LEAF Облегченная библиотека для обработки ошибок в C++11: однозаголовочный формат, без зависимостей, без динамических выделений памяти, может использоваться с обработкой исключений или без, готова для многопоточности. ( Исходный код ) BSL-1.0 header-only, cmake

Математика

Библиотека Описание Лицензия Конфигурация
alglib ALGLIB — это кроссплатформенная (Windows/POSIX/Linux) библиотека для численного анализа и обработки данных. Возможности ALGLIB включают: анализ данных, оптимизацию и нелинейные решатели, интерполяцию, линейную алгебру и линейные решатели, БПФ и многое другое. Бесплатная (GPL/Персональная/Академическая) и Коммерческая
ArrayFire Кроссплатформенная (Windows/OSX/Linux) библиотека общего назначения для высокопроизводительных вычислений (CPU/GPU/OpenCL/CUDA/GPGPU) в параллельных вычислениях. Области применения ArrayFire: векторные алгоритмы, обработка изображений, компьютерное зрение, обработка сигналов, линейная алгебра, статистика и другие. ( Исходный код ) Пользовательская
Boost.Math Включает несколько компонентов в области математики: утилиты для работы с числами с плавающей запятой, математические константы, статистические распределения и функции, статистика, векторные функционалы - нормы, специальные функции, алгоритмы поиска корней и минимизации, полиномы и рациональные функции, интерполяция, квадратура и дифференцирование, фильтры, функции комплексных чисел, кватернионы, октонионы, утилиты для целых чисел (наибольший общий делитель и наименьшее общее кратное), ряды, рациональные числа и цепные дроби. BSL-1.0
Boost.Random Предоставляет различные генераторы и распределения для создания случайных чисел с полезными свойствами, такими как равномерное распределение. BSL-1.0
Boost.SafeNumerics C++14, гарантированно корректная целочисленная арифметика, прямая замена встроенных целочисленных типов. BSL-1.0 только заголовки
cpp-measures Библиотека C++11 для работы с физическими величинами MPL-2.0 только заголовки
G+Smo Кроссплатформенная библиотека для изогеометрического анализа ( Документация ) MPL-2.0 cmake
GNU MP bignum C++ interface Удобный интерфейс класса C++, предлагающий перегруженные функции и операторы. GMP — это свободная библиотека C для арифметики произвольной точности, работающая с целыми числами со знаком, рациональными числами и числами с плавающей запятой. GNU LGPL v3 и GNU GPL v2
libmpdec++ Кроссплатформенная библиотека C (с обертками C++) для корректно округленной арифметики десятичных чисел с плавающей запятой произвольной точности. BSD-2-Clause make, nmake
NTL Библиотека для работы в области теории чисел. NTL — это высокопроизводительная, переносимая библиотека C++, предоставляющая структуры данных и алгоритмы для работы со знаковыми целыми числами произвольной длины, а также для векторов, матриц и полиномов над целыми числами и над конечными полями. LGPLv2.1+
PCGrand PCG — это семейство простых, быстрых, эффективных по памяти и статистически хороших алгоритмов для генерации случайных чисел. В отличие от многих универсальных ГСЧ, их также сложно предсказать. Apache
stats++ Продвинутое, комплексное статистическое программное обеспечение: сбор и предварительная обработка данных, статистика, машинное обучение и оптимизация, с открытым исходным кодом на C++.
StatsLib Библиотека шаблонов статистических функций распределения. Apache-2.0 только заголовки

Теория автоматов
Библиотека Описание Лицензия Конфигурация
yasmine Фреймворк UML state machine на C++11 ( Документация ) ( Исходный код ) Лицензия

Библиотека Классов для Чисел
Библиотека Описание Лицензия Конфигурация
BigNumber Класс C++ для создания и вычисления целых чисел произвольной длины Apache 2.0 cmake
Boost.Multiprecision Библиотека Multiprecision предоставляет целочисленные, рациональные, числа с плавающей запятой и комплексные типы в C++, которые имеют более широкий диапазон и точность , чем обычные фундаментальные (встроенные) типы C++. BSL-1.0
cln CLN - это библиотека для эффективных вычислений с числами любого вида произвольной точности. GPL
CNL C ompositional N umeric L ibrary - числовые типы фиксированной точности BSL-1.0 cmake, conan
fpm Библиотека C++11 для f ixed- p oint m ath, которая предоставляет функциональность чисел с плавающей запятой стандартной библиотеки на целых числах. Полезна, если ваша целевая платформа не имеет FPU или требуются детерминированные вычисления. MIT header-only; cmake
Universal Numbers Шаблонная библиотека C++17/20, предоставляющая замены для нативных арифметических типов (целые/десятичные/фиксированная точка/плавающая точка/позиты/логарифмические/интервальные) MIT cmake, vcpkg, conan

Вычислительная геометрия
Библиотека Описание Лицензия Конфигурация
Boost.Geometry Boost.Geometry (также известная как G eneric G eometry L ibrary, GGL), определяет концепции, примитивы и алгоритмы для решения геометрических задач. Boost.Geometry содержит независимое от размерности, независимое от системы координат и масштабируемое ядро, основанное на концепциях, метафункциях и диспетчеризации тегов. Поддерживаемые алгоритмы: вычисление площади, длины, периметра, центроида, выпуклой оболочки, пересечения (отсечения), принадлежности (точка в полигоне), расстояния, ограничивающего прямоугольника, упрощения, преобразования и многое другое. Библиотека поддерживает числа высокой точности BSL-1.0
CGAL Библиотека алгоритмов вычислительной геометрии GPL-3.0 или коммерческая cmake
PCL Библиотека облаков точек
pmp-library Библиотека обработки полигональных сеток
Wykobi Библиотека вычислительной геометрии

Теория графов
Библиотека Описание Лицензия Конфигурация
Boost.Graph BSL-1.0
CXXGraph Библиотека C++17 для представления, манипулирования, разделения графов и алгоритмов AGPL-3.0 header-only; cmake
GTpo Библиотека для моделирования ориентированных графов на C++14, часть проекта QuickQanava BSD qmake, cmake
LEMON L ibrary for E fficient M odeling and O ptimization in N etworks реализует общие структуры данных и алгоритмы с фокусом на комбинаторную оптимизацию, графы и сети. ( Документация ) Лицензия
NGraph Простая библиотека для (сетевых) графов на C++
OGDF O pen G raph algorithms and D ata structures F ramework - библиотека C++ для алгоритмов на графах, в частности для автоматического рисования графов. GPL v2 или v3

Линейная алгебра
Библиотека Описание Лицензия Конфигурация
Armadillo C++ библиотека шаблонов для линейной алгебры и научных вычислений с обертками для OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU и FFTW. Полезна для ML, распознавания образов, DSP, биоинформатики, статистики, финансов и т.д. Apache 2.0
Blasw C++11 обертка для BLAS и части LAPACK BSD-3-Clause header-only; cmake
Blaze
Blitz++ C++ библиотека шаблонных классов, предоставляющая высокопроизводительные плотные массивы и векторы, генераторы случайных чисел и малые векторы. GPL-3.0, LGPL-3.0, Custom cmake
Boost.uBLAS C++ библиотека шаблонных классов, предоставляющая функциональность BLAS уровней 1, 2, 3 для плотных, упакованных и разреженных матриц. Использует шаблоны выражений. BSL-1.0
C++ Matrix Высокопроизводительная и точная (например, пограничные случаи) библиотека матричной математики с арифметическими операторами шаблонов выражений BSD-3-Clause cmake, make
DecompLib C++11 библиотека для декомпозиции вектора в набор положительно определенных взвешенных базисных векторов. MIT header-only
Dlib - linear algebra tools
Eigen C++ библиотека шаблонов для линейной алгебры: матрицы, векторы, численные решатели и связанные алгоритмы. MPL2 cmake, conan
ETL
IT++
Matrix Простая в использовании библиотека научных вычислений на C++ для Linux и Windows. MIT cmake
NumCpp C++ библиотека шаблонов, реализующая NumPy из Python MIT header-only; cmake, vcpkg, conan
PETSc Набор структур данных и процедур для параллельного решения научных приложений, моделируемых дифференциальными уравнениями в частных производных. Поддерживает MPI и GPU через CUDA или OpenCL, а также гибридные MPI-GPU.
Spectra Sp arse E igenvalue C omputation T oolkit as a R edesigned A RPACK - это библиотека C++ с открытым исходным кодом для задач на собственные значения большого масштаба, построенная поверх библиотеки линейной алгебры Eigen (также с открытым исходным кодом и header-only). ( Исходный код ) MPL-2.0 header-only; cmake, vcpkg
Tense Быстрая C++17 библиотека матриц и тензоров с шаблонами выражений BSD-3-Clause header-only; cmake
xtensor C++ библиотека для численного анализа с многомерными массивами выражений. BSD

Машинное обучение
Библиотека Описание Лицензия Конфигурация
Dlib Инструменты машинного обучения
FANN Б ыстрая И скусственная Н ейронная С еть библиотека
gaenari Инкрементное дерево решений на основе C++17 Apache-2.0 cmake
liblinear
libtorch C++ фронтенд для популярной Python библиотеки PyTorch (бэкенд написан на C++) BSD-style cmake
MLPACK Пакет машинного обучения
Shogun Масштабируемый инструментарий машинного обучения
stats++
tensorflow Открытая платформа машинного обучения для всех; предоставляет стабильный C++ API и написана в основном на C++ Apache-2.0 bazel

Численные вычисления
Библиотека Описание Лицензия Конфигурация
LibBF Библиотека для вычислений с произвольной точностью, разработанная Беллардом, с примером программы, вычисляющей π до миллиардов битов MIT

Оптимизация
Библиотека Описание Лицензия Конфигурация
ceres-solver Открытая C++ библиотека для моделирования и решения больших сложных задач оптимизации. Это многофункциональная, зрелая и производительная библиотека, которая используется в продакшене Google с 2010 года. Apache cmake, conan
OptimLib C++11 библиотека численных методов оптимизации для нелинейных функций.

Манипуляции с символьными выражениями
Библиотека Описание Лицензия Конфигурация
CasADi Символьный фреймворк для нелинейной оптимизации и алгоритмического дифференцирования. Поддерживает генерацию C++ кода для символьных выражений и динамическое подключение скомпилированного сгенерированного кода. LGPLv3.0 cmake
ExprTk Библиотека математических выражений C++ (ExprTk) — это простой в использовании, легко интегрируемый и чрезвычайно эффективный парсер и вычислительный движок математических выражений времени выполнения. ExprTk поддерживает множество форм функциональной, логической и векторной обработки и легко расширяема. MIT header-only
GiNaC Библиотека для создания интегрированных систем, объединяющих символьные вычисления с более традиционными областями компьютерных наук (такими как ресурсоемкие численные приложения, графические интерфейсы и т.д.) под одной крышей. GPLv3
mathiu.cpp Простая система компьютерной алгебры на C++17 Apache-2.0 cmake
SEMT Символьное дифференцирование на этапе компиляции Лицензия make
SymbolicC++ Универсальная система компьютерной алгебры GPLv2 autoconf
SymCC Обертка компилятора, которая внедряет символьное выполнение в программу во время компиляции, и связанная с ней библиотека поддержки времени выполнения. По сути, компилятор вставляет код, который вычисляет символьные выражения для каждого значения в программе. Фактическое вычисление происходит через вызовы библиотеки поддержки во время выполнения. GPLv3 cmake
SymEngine Автономная быстрая C++ библиотека для символьных вычислений. MIT cmake
ViennaMath Библиотека символьной математики, которая обеспечивает удобное создание, манипулирование и вычисление математических выражений во время выполнения и на этапе компиляции. MIT cmake

Метапрограммирование

Библиотека Описание Лицензия Конфигурация
Boost.CallableTraits Библиотека C++11/17 для инспекции и манипуляции всеми "вызываемыми" типами во время компиляции. Преемник Boost.FunctionTypes. BSL-1.0 header-only
Boost.Hana Новая библиотека метапрограммирования для работы как с типами, так и со значениями BSL-1.0
Boost.Metaparse Библиотека парсеров времени компиляции, производящая типы, значения и метафункции из строк времени компиляции BSL-1.0
Boost.Mp11 Библиотека метапрограммирования C++11 для манипуляции структурами данных, содержащими типы, во время компиляции. BSL-1.0 header-only
Boost.MPL Оригинальная библиотека метапрограммирования, ориентированная на C++03, медленная BSL-1.0
Boost.PFR Библиотека C++14 для базовой рефлексии (без макросов): посещение членов пользовательского типа по индексу, потоковый ввод-вывод. BSL-1.0 header-only
Boost.Proto Библиотека для построения EDSL на основе шаблонов выражений BSL-1.0
Brigand Использует eager метафункции, оптимизирована для наилучшей производительности
CoMeta Легковесная библиотека метапрограммирования C++14 header-only
Meta Использует eager метафункции, золотая середина между metal и brigand по производительности
Metal Использует eager метафункции, 100% SFINAE-friendly
refl-cpp Современная библиотека рефлексии времени компиляции для C++ с поддержкой перегрузок, шаблонов, атрибутов и прокси
Refureku Библиотека рефлексии времени выполнения и генерации кода для C++17 MIT cmake
visit_struct Минималистичная библиотека рефлексии, предоставляющая посетителей структур для C++11/14. Самодостаточна, 200-400 строк кода в зависимости от подсчета.

PDF

Библиотека Описание Лицензия Конфигурация
HARU Бесплатная, кроссплатформенная, открытая библиотека для генерации PDF-файлов. ( Документация ) ( Исходный код ) Zlib cmake
JagPDF Бесплатная, открытая библиотека для генерации PDF ( Документация ) MIT
PoDoFo Бесплатная портативная библиотека C++17 для работы с PDF LGPL-2.0 cmake, conan, vcpkg
PDF-Writer Высокопроизводительная библиотека C++ для создания, модификации и парсинга PDF-файлов Apache-2.0 cmake, conan, vcpkg

Физика и симуляции

Библиотека Описание Лицензия Конфигурация
Bullet Физический симулятор для игр, визуальных эффектов, робототехники и обучения с подкреплением
HELICS Фреймворк для ко-симуляции, синхронизирующий время и обменивающийся данными между различными типами симуляторов BSD 3-Clause "New" or "Revised" cmake
ProjectCHRONO Мультифизический симуляционный движок с открытым исходным кодом
ReactPhysics3D Библиотека физического движка на C++ для 3D-симуляций и игр

Робототехника

Восприятие
Библиотека Описание Лицензия Конфигурация
GTSAM Сенсорная фьюжн, SLAM, SFM, VO, Компьютерное зрение ( Исходный код ) BSD cmake
opencv Компьютерное зрение и восприятие, Калибровка, Сопоставление признаков ( Исходный код ) ( Документация ) BSD, Apache 2 cmake

Сериализация

Библиотека Описание Лицензия Конфигурация
Boost.Serialization BSL-1.0
C++ XML objects
cereal C++11 библиотека сериализации BSD
cista Простая, высокопроизводительная C++ библиотека сериализации и рефлексии без копирования. ( Исходный код ) MIT cmake
cppcodec C++11 библиотека для кодирования/декодирования base64, base32 и hex с последовательным, гибким API MIT header-only
GPDS Универсальный сериализатор данных для сериализации объектов в XML и из XML. Использует TinyXML внутри.
gSOAP Точная XML сериализация
iguana Современный, универсальный и простой в использовании механизм сериализации, разработанный на C++17, основанный на рефлексии во время компиляции. Поддерживаемые форматы: JSON, XML, пользовательские. Apache-2.0 cmake
jios JSON сериализация MIT cmake
protobuf Protocol Buffers (также известные как protobuf) - это нейтральный к языку, нейтральный к платформе, расширяемый механизм Google для сериализации структурированных данных, включая компилятор файлов .proto. ( Документация ) Custom bazel, cmake
rpnx-serial Библиотека, которая может сериализовать и десериализовать типы, такие как std::map , std::vector и т.д.
Serio Быстрая легковесная C++ библиотека сериализации BSD-3-Clause header-only; cmake
ThorsSerializer C++ библиотека сериализации для JSON MIT make
yaml-cpp
YAS Y et A nother S erialization - это C++11 библиотека без зависимостей от сторонних библиотек. Архивы могут быть бинарными, текстовыми, JSON Boost header-only

Бинарная сериализация
Библиотека Описание Лицензия Конфигурация
binn Библиотека бинарной сериализации, разработанная для компактности, скорости и простоты использования, сама является реализацией одноимённого формата.
blobify Библиотека C++17, которая определяет сериализованную структуру исключительно из определения структуры данных. Boost header-only; cmake
bson-cxx Реализация формата BSON на C++11. scons
fast_ber Высокопроизводительная сериализация на C++11 с использованием правил кодирования BER/DER. Структура кодирования определяется схемами ASN.1.
UBjsonCpp Высокопроизводительная библиотека для чтения и записи UBJson на основе C++14

Сортировка

Библиотека Описание Лицензия Конфигурация
Cpp-sort Коллекция различных алгоритмов сортировки в простом пакете. MIT
Indiesort Шаблон функции, который позволяет использовать std::sort (и другие функции сортировки с произвольным доступом) с контейнерами без произвольного доступа. Также повышает производительность сортировки больших объектов в контейнерах и массивах с произвольным доступом. zlib
Timsort Стабильный шаблон функции сортировки, который превосходит алгоритмы на основе быстрой сортировки, включая std::sort , для обратно упорядоченных или частично упорядоченных данных. MIT

Система

Библиотека Описание Лицензия Конфигурация
Infoware C++ библиотека для получения системной и аппаратной информации без использования командной строки. Creative Commons v1.0 cmake

Терминал

Библиотека Описание Лицензия Конфигурация
cli Кросс-платформенная библиотека для интерактивных интерфейсов командной строки на современном C++. BSL-1.0 header-only; cmake, make, nmake, vcpkg
cwidget Высокоуровневая библиотека терминального интерфейса для C++, созданная по образцу GTK+ и Qt, но использующая curses в качестве слоя отображения GPL v2.0 make
replxx Замена readline и libedit с поддержкой UTF-8, подсветкой синтаксиса и подсказками.

Тестирование

Библиотека Описание Лицензия Конфигурация
bandit Удобный для человека фреймворк для модульного тестирования для C++11. ( Исходный код ) MIT cmake
Boost.Test Библиотека для модульного тестирования для C++03/11/14/17, доступная на широком спектре платформ и компиляторов. ( Исходный код ) BSL-1.0 cmake, b2
Catch2 Современный, нативный для C++ фреймворк для модульного тестирования, TDD и BDD - использует C++14, C++17 и более поздние версии Boost cmake
cppunit Порт известного фреймворка JUnit для модульного тестирования на C++ LGPL-2.1 make
CUTE C ++ U нит T естирование E asier (без зависимости от статической инициализации для регистрации), интегрирован в Cevelop для TDD MIT header-only
doctest Самый легкий и многофункциональный C++ однозаголовочный фреймворк для модульного тестирования и TDD MIT header-only; cmake
ELFspy Тестирование в изоляции с использованием фейков и шпионов - только для Linux GPL-2.0 make
faker-cxx Современная C++20 библиотека Faker для генерации тестовых данных. MIT cmake
Google Test Фреймворк для тестирования и мокирования от Google. ( Исходный код ) BSD 3-Clause "New" or "Revised" bazel, cmake
lest Крошечный нативный для C++11 фреймворк для модульного тестирования, TDD и BDD (включает вариант для C++98). Boost header-only; cmake
liblittletest Портативный фреймворк для тестирования LGPL-2.1 header-only
snitch Легковесный фреймворк для тестирования на C++20. Boost cmake
tunit Современная библиотека для модульного тестирования на C++17 для Windows, macOS, Linux, iOS и Android. Официальный сайт MIT cmake

Текст

Программирование
Библиотека Описание Лицензия Конфигурация
strsuite Библиотека C++20 для работы со строками в различных кодировках LGPL3.0 cmake
uchardet Определяет кодировку строки, в основном аналогично функции uchardet в Python. MOZILLA PUBLIC LICENSE v1.1 cmake
win-iconv Библиотека преобразования кодировок символов для Linux и Mac. Реализация iconv для Windows основана на Win32 Character Set Conversion API. public domain cmake

Дифф/Патч
Библиотека Описание Лицензия Конфигурация
diff_match_patch Создание и применение патчей для строк (требуется Qt) Apache 2.0 qmake

Формат
Библиотека Описание Лицензия Конфигурация
coformat Вспомогательная C++ библиотека для std::format для включения раскраски текста и стилизации. public domain header-only
fmt Библиотека форматирования с открытым исходным кодом, предоставляющая быструю и безопасную альтернативу C stdio и C++ iostream s. Прототип для семейства C++20 std::format . License cmake, conan

Разобрать
Библиотека Описание Лицензия Конфигурация
BNFlite Легковесная библиотека для парсинга грамматик MIT header-only
Boost.Spirit Набор библиотек C++17 для парсинга и генерации вывода, реализованных как D omain S pecific E mbedded L anguages (DSEL) с использованием Expression templates и Template Meta-Programming. Библиотеки Spirit позволяют писать целевую грамматику исключительно на C++. ( Src ) ( Doc ) BSL-1.0 cmake
CTRE Быстрые C ompile- T ime R egular E xpressions с поддержкой сопоставления/поиска/захвата во время компиляции или выполнения. Apache-2.0 header-only, cmake, vcpkg
lexy Библиотека комбинаторов парсеров на C++17, которая позволяет писать парсер, задавая его на удобном C++ DSL со всей гибкостью и контролем рукописного парсера. Поддерживает UTF-8/16/32. ( Doc ) BSL-1.0 cmake
PEGTL P arsing E xpression G rammar T emplate L ibrary — это не зависящая от зависимостей библиотека комбинаторов парсеров C++17 только с заголовками для создания парсеров в соответствии с Parsing Expression Grammar (PEG). Boost header-only

Поиск
Библиотека Описание Лицензия Конфигурация
clucene CLucene - кроссплатформенный, полнофункциональный механизм/API индексирования и поиска с открытым исходным кодом. ( Исходный код ) ( Документация ) LGPL v2.1 cmake
Step20 Онлайн-алгоритм Укконена для построения Suffix tree , алгоритм Манбера для построения Suffix array . MIT header-only
xapian Поисковая система с открытым исходным кодом с возможностями индексирования ( Исходный код ) ( Документация ) GPL v2+ make

Шаблонизатор
Библиотека Описание Лицензия Конфигурация
inja Шаблонизатор для C++17. MIT header-only; cmake, conan, vcpkg, etc.
Jinja2C++ Реализация шаблонов Jinja2 на C++14/17 MPL-2.0 cmake, conan

Система управления версиями

Библиотека Описание Лицензия Конфигурация
coo-semver C++ библиотека для работы с семантическими версиями.
LibGit2 Основная библиотека системы контроля версий Git.

Видео

Библиотека Описание Лицензия Конфигурация
crystalhd
gstreamermm
libmatroska
libVLC
mjpegtools
OpenH264 Кроссплатформенная, мультиархитектурная библиотека с открытым исходным кодом, поддерживающая кодирование и декодирование H.264 ( Исходный код ) BSD-2 Clause meson

Веб

Библиотека Описание Лицензия Конфигурация
Chromium Embedded
cpp-jwt
Drogon Фреймворк для веб-приложений на основе C++14/17, работающий на Linux/macOS/Unix/Windows.
ffead-cpp F ramework f or E nterprise A pplication D evelopment в C ++, совместимый с HTTP1/HTTP2/HTTP3, поддерживает несколько серверных бэкендов Apache 2.0 cmake
libhttpserver Библиотека C++ для создания высокопроизводительных RESTful веб-серверов. Построена на основе libmicrohttpd для предоставления простого API разработчикам по созданию HTTP-сервисов на C++. LGPL-v2.1 autotools
libkcddb
liblastfm
libmusicbrainz5
libnavajo
Molybden SDK для создания кроссплатформенных десктопных приложений на C++ с GUI на HTML/CSS/JS. ( Документация ) ( Исходный код ) Лицензия npm
oatpp Мощный портативный легковесный фреймворк без зависимостей для IoT и высокопроизводительных веб-сервисов.
QtWebApp HTTP(s) сервер на C++, вдохновленный Java Servlets
Tufão Асинхронный веб-фреймворк для C++11, построенный на основе Qt ( Документация ) LGPL-2.1, GPL-2.0 cmake
uri-template Расширение URI Templates и обратное сопоставление для C++ Apache 2.0 cmake
userver Асинхронный фреймворк на C++ Apache 2.0 cmake
Wt Виджеты и строительные блоки для веб-приложений, встроенная безопасность, рендеринг PDF, 2D и 3D графика, ORM, построение графиков, фреймворки аутентификации. ( Документация ) ( Исходный код ) GNU GPL или Коммерческая

Смотрите также

Документация C для Библиотек не входящих в стандарт ANSI/ISO

Внешние ссылки

1. Список фреймворков для модульного тестирования C++ — в Википедии
2. Кураторский список (awesome) заголовочных библиотек C++ — на GitHub
3. Кураторский список (awesome) библиотек C++ и C — на GitHub
4. Библиотеки Boost C++ — на Boost.org
5. Огромный список игр и фреймворков с открытым исходным кодом на C++ — на GitHub.io