El objetivo de esta página es construir una lista exhaustiva de bibliotecas de C++ de código abierto, de modo que cuando alguien necesite una implementación de una funcionalidad particular, no tenga que perder tiempo buscando en la web (
DuckDuckGo
,
Google
,
Bing
, etc.)
Si conoces una biblioteca que pueda ser útil para otros, por favor añade un enlace a ella aquí. No hay restricciones sobre lo que se puede incluir, excepto que el
código fuente
de la biblioteca debe estar fácilmente
disponible
para descargar.
La página se proporciona "tal cual" - con la esperanza de ser útil, pero sin ninguna garantía. Pueden aparecer aquí enlaces desactualizados, engañosos o incorrectos. Si has notado alguno de estos, sería genial si corrigieras el error.
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Amplitude Audio SDK
|
Un motor de audio multiplataforma diseñado para las necesidades de los videojuegos. (
Fuente
)
|
Apache-2.0
|
cmake, vcpkg
|
|
Aquila
|
Una biblioteca DSP de código abierto y multiplataforma para C++11.
|
MIT
|
cmake
|
|
Aubio
|
Una biblioteca C/Python para análisis de audio y música. (
Fuente
)
|
GPL-3.0
|
make
|
|
audioFlux
|
Una biblioteca C para análisis de audio y música, extracción de características.
|
MIT
|
|
|
Essentia
|
Una biblioteca y herramientas de código abierto para análisis, descripción y síntesis de audio y música (MIR) (
Fuente
)
|
Affero GPLv3
|
|
|
FFTW
|
Una biblioteca para calcular la DFT (SSE/SSE2/AVX/Altivec/ARM Neon). (
Fuente
)
|
GPL-2.0
|
cmake
|
|
FMOD
|
Un motor de audio multiplataforma fácil de usar y herramienta de creación de contenido de audio para videojuegos.
|
Gratis para no comercial/Comercial
|
cmake
|
|
KFR
|
Un framework DSP/DFT rápido, moderno, C++17, de código abierto y multiplataforma, compatible con remuestreo de audio, filtros FIR/IIR, Biquad, (SSE, AVX, AVX-512, ARM NEON). (
Fuente
)
|
GPL-2.0
|
cmake
|
|
libsoundio
|
Una biblioteca C para entrada y salida de audio en tiempo real multiplataforma. (
Fuente
)
|
MIT
|
cmake
|
|
Maximilian
|
Biblioteca DSP de Audio y Música en C++.
|
MIT
|
cmake
|
|
Miniaudio
|
Una biblioteca C de reproducción y captura de audio. (
Fuente
)
|
Unlicense
|
archivo fuente único
|
|
ni-media
|
Biblioteca C++ para leer y escribir archivos de audio.
|
MIT
|
cmake, vcpkg
|
|
OpenAL
|
Una API de audio multiplataforma.
|
BSD/LGPL/Propietaria
|
cmake
|
|
PortAudio
|
PortAudio es una biblioteca de E/S de audio gratuita, multiplataforma y de código abierto. (
Fuente
)
|
MIT
|
cmake, vcpkg
|
|
rnnoise
|
Red neuronal recurrente para reducción de ruido de audio.
|
BSD-3-Clause
|
make
|
|
SELA
|
S
impl
E
L
ossless
A
udio.
|
MIT
|
cmake
|
|
SoLoud
|
Motor de audio fácil y portable para videojuegos.
|
zlib
|
|
|
Soundtouch
|
SoundTouch es una biblioteca de procesamiento de audio multiplataforma de código abierto para cambiar el Tempo, Tono y Tasas de Reproducción de flujos de audio o archivos de audio. (
Fuente
)
|
LGPL-2.1
|
make
|
|
Tonic
|
Síntesis de audio fácil y eficiente en C++.
|
Unlicense
|
|
|
Verovio
|
Una biblioteca rápida y ligera para grabación de notación musical. (
Fuente
)
|
LGPL
|
cmake, qmake
|
|
Wav2Letter++
|
Un kit de herramientas de reconocimiento de voz rápido escrito completamente en C++ y que utiliza la biblioteca de tensores ArrayFire y la biblioteca de aprendizaje automático flashlight para máxima eficiencia.
|
Licencia BSD
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
ACE
|
Redes asíncronas, desmultiplexación de eventos, mensajería (
Cód
) (
Doc
)
|
Personalizado
|
make
|
|
Apache Thrift
|
El framework de software Apache Thrift, para el desarrollo de servicios escalables entre lenguajes, combina una pila de software con un motor de generación de código para construir servicios que funcionan de manera eficiente y fluida entre C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml y Delphi y otros lenguajes. (
Fuente
)
|
Apache-2.0
|
cmake, vcpkg
|
|
Boost.Asio
|
Redes asíncronas y síncronas, temporizadores, E/S serie
|
BSL-1.0
|
|
|
Boost.Beast
|
Una biblioteca HTTP y WebSocket construida sobre Boost.Asio
|
BSL-1.0
|
|
|
Breep
|
Una biblioteca de alto nivel, basada en eventos y peer-to-peer, que permite a los usuarios enviar y recibir objetos directamente.
|
Licencia Pública de la Unión Europea 1.1
|
cmake
|
|
brpc
|
Un framework RPC de grado industrial utilizado en toda Baidu, con más de 1,000,000 de instancias y miles de tipos de servicios. (
Código
) (
Doc
)
|
Apache 2.0
|
cmake
|
|
C++ REST SDK
|
Un cliente y escuchador HTTP asíncrono, Stream asíncrono, URI, JSON
|
MIT
|
cmake
|
|
cpp-httplib
|
Una biblioteca HTTP/HTTPS multiplataforma de C++11 de un solo archivo y solo encabezado
|
MIT
|
solo encabezado; cmake
|
|
cpp-netlib
|
Una Biblioteca de Red para C++
|
BSL-1.0
|
cmake
|
|
cppsimpleuri
|
Un analizador de URI y consultas moderno en C++
|
MIT
|
cmake
|
|
cpr
|
Una biblioteca moderna de peticiones HTTP para C++
|
MIT
|
cmake
|
|
Crow
|
Un micro framework web en C++ (inspirado en Python Flask)
|
BSD-3-Clause
|
solo cabecera; cmake
|
|
curlpp
|
Envoltorio C++ para libcURL (biblioteca CURL). (
Fuente
)
|
|
cmake, vcpkg
|
|
DumaisLib
|
Varias utilidades como WebServer, JSON, servidor WebSocket, framework REST (una biblioteca para crear una API REST en tu aplicación C++)
|
MIT
|
make
|
|
EasyHttp
|
Una biblioteca cliente HTTP multiplataforma centrada en la usabilidad y velocidad, compatible con caché de respuestas http y más.
|
MIT
|
cmake
|
|
eCAL
|
Una biblioteca de comunicación entre procesos de alto rendimiento
|
Apache 2.0
|
cmake
|
|
fineftp-server
|
Una biblioteca de servidor FTP para Windows y Unix
|
MIT
|
cmake
|
|
FPNN
|
F
ast
P
rogrammable
N
exus
N
etwork. Framework de servicio RPC completamente asíncrono de alto rendimiento. Soporta simultáneamente HTTP, WebSocket, TCP y UDP confiable. Permite el desarrollo de servidores de carga ultra alta, con SDKs de cliente correspondientes.
|
未知
|
make
|
|
gRPC
|
Un framework RPC moderno, de código abierto y alto rendimiento que puede ejecutarse en cualquier entorno. (
Src
) (
Doc
)
|
Apache-2.0
|
bazel, cmake, vcpkg
|
|
gsoap
|
Un kit de desarrollo C/C++ para enlaces de datos XML, servicios web WSDL/SOAP/XML rápidos, WS-Security, servicios RESTful JSON/XML-RPC
|
GPLv2
|
|
|
hmbdc
|
Un framework/biblioteca middleware de publicación/suscripción de mensajes C++17 ligero y de alto rendimiento
|
|
solo cabecera
|
|
HTTPP
|
Un servidor HTTP simple, listo para producción, basado en C++14, construido sobre Boost y un cliente construido sobre libcurl.
|
BSD 2-Clause "Simplified"
|
cmake, make
|
|
IXWebSocket
|
Una biblioteca WebSocket + HTTP de código abierto sin dependencias, compatible con SSL y la extensión WebSocket de compresión por mensaje deflate.
|
BSD 3-Clause "New" or "Revised"
|
cmake, make
|
|
KCP
|
Un protocolo ARQ rápido y confiable que ayuda a las aplicaciones a reducir la latencia de red.
|
MIT
|
cmake
|
|
libashttp
|
Una biblioteca cliente HTTP asíncrona
|
GNU Lesser General Public v3.0
|
|
|
libjson-rpc-cpp
|
Un framework que proporciona soporte multiplataforma JSON-RPC (llamada a procedimiento remoto) para C++, completamente compatible con JSON-RPC 2.0 & 1.0.
|
MIT
|
cmake, conan
|
|
libnavajo
|
Un framework C++ que incluye un servidor http multihilo rápido, HTML5 Websockets, SSL, autenticación X509 y HTTP, compresión, cookies y gestión avanzada de sesiones, IPv4 e IPv6 (CeCILL-C).
|
ACUERDO DE LICENCIA DE SOFTWARE LIBRE CeCILL-C
|
cmake
|
|
libtins
|
Una biblioteca para creación y captura de paquetes de red (
Src
) (
Doc
)
|
BSD-2
|
cmake, vcpkg
|
|
LiteNetLibPP
|
Una biblioteca UDP ligera y confiable para juegos
|
MIT
|
cmake
|
|
mailio
|
Biblioteca MIME y de correo electrónico
|
BSD 2-Clause "Simplified"
|
cmake
|
|
nanomsg
|
Una cola de mensajes rápida, sucesor de zeromq
|
|
|
|
netif
|
Una biblioteca C++14 para obtener direcciones de red en Windows, Linux, macOS y FreeBSD.
|
BSD 3-Clause "New" or "Revised"
|
solo cabecera; cmake
|
|
nghttp2
|
Biblioteca y herramientas HTTP/2 en C (servidor, cliente, proxy y herramientas de evaluación comparativa)
|
MIT
|
cmake, configure
|
|
ngrest
|
Un framework de servicios web RESTful JSON rápido y fácil de usar
|
Apache 2.0
|
cmake
|
|
nng
|
Una cola de mensajes rápida, sucesor de nanomsg
|
|
|
|
Oat++
|
Un Framework Web: Implementación de REST-API y Request (
Código
) (
Doc
)
|
Apache 2.0
|
cmake
|
|
omniORB
|
La implementación de CORBA ORB en C++ más rápida, completa y portable
|
|
|
|
OpenDDS
|
Implementación de DDS (Data Distribution Service)
|
|
|
|
Paho MQTT
|
Un cliente moderno de C++ para MQTT de Eclipse
|
|
cmake
|
|
paozhu
|
Un Framework Web C++20 Compatible con HTTP/2 ORM WebSocket
|
MIT
|
cmake
|
|
PcapPlusPlus
|
Framework multiplataforma en C++ para captura de tráfico de red y análisis y creación de paquetes. Proporciona wrappers en C++ para muchos motores populares de procesamiento de paquetes como libpcap, Npcap, WinPcap, DPDK, AF_XDP y PF_RING. (
Código
)
|
Unlicense
|
conan, homebrew, cmake, vcpkg
|
|
POCO
|
Redes: cifrado, HTTP; Archivos Zip (
Doc
)
|
|
|
|
rest_rpc
|
Un framework RPC de C++11, de alto rendimiento, multiplataforma y fácil de usar.
|
MIT
|
cmake
|
|
restbed
|
Un framework multiplataforma rico en características que aporta funcionalidad RESTful asíncrona (comunicación segura sobre HTTP) a aplicaciones C++14.
|
Licencia
|
cmake
|
|
restc-cpp
|
Acceso a API's JSON desde C++. Cliente HTTP, serialización nativa de clases C++ a/desde JSON, E/S asíncrona mediante corrutinas boost::asio. C++14.
|
MIT
|
cmake
|
|
restful_mapper
|
ORM para consumir APIs RESTful JSON en C++
|
|
cmake, make
|
|
seastar
|
Un framework de aplicaciones de alto rendimiento para el lado del servidor, basado en C++14/C++17.
|
Apache 2.0
|
cmake, etc.
|
|
Silicon
|
El Framework Web Silicon C++14: APIs Web Rápidas y Robusta
|
MIT
|
cmake
|
|
sockpp
|
Una biblioteca de sockets C++ simple y moderna
|
BSD 3-Cláusulas "Nueva" o "Revisada"
|
cmake
|
|
stream-client
|
Un cliente ligero basado en Boost para socket/conector/pool de sockets/resolver del lado del cliente
|
Apache 2.0
|
solo cabecera; cmake
|
|
tacopie
|
Una Biblioteca TCP C++11
|
MIT
|
cmake
|
|
TAO
|
CORBA
|
|
|
|
taox11
|
Una implementación de CORBA basada en C++11
|
MIT
|
|
|
Unicomm
|
Red de comunicación asíncrona, framework de comunicación TCP de alto nivel
|
|
|
|
uvw
|
Un
libuv
(E/S asíncrona multiplataforma) wrapper en C++17
|
MIT
|
solo cabecera; cmake
|
|
WNetWrap
|
Un contenedor de WinInet en C++
|
MIT
|
|
|
wvstreams
|
Una biblioteca de redes en C++ que incluye UniConf y una API conveniente para D-Bus
|
GPL
|
|
|
zeromq
|
Una cola de mensajes rápida
|
|
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
AdaptiveCpp
|
Proporciona un compilador y sistema de ejecución de descarga SYCL y C++ parallel STL para CPUs y GPUs de NVIDIA, AMD, Intel
|
BSD-2-Clause
|
cmake
|
|
Asyncpp
|
Una biblioteca asíncrona de C++ que proporciona diversas operaciones concurrentes
|
MIT
|
cmake
|
|
BlockingCollection
|
Clase de cola de bloqueo, pila y cola de prioridad segura para hilos en C++11, multi-productor y multi-consumidor
|
GPL-3.0
|
solo cabecera
|
|
Boost.Atomic
|
Proporciona tipos de datos atómicos y operaciones sobre estos tipos de datos, así como restricciones de ordenamiento de memoria requeridas para coordinar múltiples hilos a través de variables atómicas.
|
BSL-1.0
|
|
|
Boost.Compute
|
Una biblioteca de computación GPU/paralela para C++ basada en OpenCL.
|
BSL-1.0
|
cmake
|
|
Boost.Context
|
Una biblioteca C++11 que proporciona una abstracción de multitarea cooperativa en un único hilo.
|
BSL-1.0
|
|
|
Boost.Interprocess
|
Simplifica el uso de mecanismos de comunicación y sincronización entre procesos y ofrece una amplia gama de ellos: memoria compartida, archivos mapeados en memoria, semáforos, mutexes, variables de condición y tipos de mutex actualizables, versiones con nombre de los objetos de sincronización, bloqueo de archivos, colas de mensajes.
|
BSL-1.0
|
|
|
Boost.Lockfree
|
Proporciona estructuras de datos concurrentes no bloqueantes (también conocidas como lock-free): una cola, una pila y un búfer circular (spsc_queue).
|
BSL-1.0
|
|
|
Boost.MPI
|
Una interfaz compatible con C++ para el estándar
Message Passing Interface
|
BSL-1.0
|
|
|
Boost.Thread
|
Permite el uso de múltiples hilos de ejecución con datos compartidos y medios para sincronizar datos entre los hilos.
|
BSL-1.0
|
|
|
concurrencpp
|
Concurrencia moderna para C++. Tareas, ejecutores, temporizadores y corrutinas C++20.
|
MIT
|
cmake
|
|
dispenso
|
Concurrencia de alto rendimiento para C++. parallel_for, Futures, pipelines, timers, tareas temporizadas/periódicas y estructuras de datos concurrentes.
|
MIT
|
cmake
|
|
Highway
|
Proporciona intrínsecos SIMD/vectoriales portables en rendimiento y agnósticos de longitud. Soporta: SSE3, SSE4, AVX*, NEON, SVE*, WASM SIMD, RISC-V, POWER. (
Doc
)
|
Apache-2.0
|
cmake
|
|
HPX
|
Un sistema de ejecución de C++ de propósito general para aplicaciones paralelas y distribuidas de cualquier escala (
Doc
)
|
BSL-1.0
|
cmake, vcpkg
|
|
Intel TBB
|
Intel® TBB es una biblioteca C++ multiplataforma para programación paralela en memoria compartida y computación heterogénea. La biblioteca proporciona: algoritmos paralelos genéricos, contenedores concurrentes, un asignador de memoria escalable, planificador de tareas con work-stealing y primitivas de sincronización de bajo nivel. (
Fuente
) (
Doc
)
|
Apache-2.0
o Comercial
|
cmake, make
|
|
KOKKOS
|
Un modelo de programación para escribir aplicaciones HPC con portabilidad de rendimiento, utilizando CUDA, HIP, SYCL, HPX, OpenMP e hilos de C++ como backends (
Doc
)
|
Personalizada
|
cmake, make
|
|
libopenmpi
|
El Proyecto Open MPI es una implementación de código abierto de la Interfaz de Paso de Mensajes
|
3-clause BSD
|
|
|
libsimdpp
|
Una biblioteca C++ portátil de bajo nivel SIMD sin sobrecarga.
|
Boost
|
solo cabecera; cmake
|
|
MPL
|
Una interfaz compatible con C++-17 para el estándar
Message Passing Interface
|
BSD 3-Cláusulas "Nueva" o "Revisada"
|
solo cabecera; cmake
|
|
MutexGear
|
Una biblioteca de sincronización solo para mutex en C/C++: wheel, rwlock, maintlock, colas de trabajo
|
The MutexGear Library
|
configure, msvc, make
|
|
OpenMP
|
La especificación de la API OpenMP para programación paralela
|
|
|
|
PoCL
|
Una implementación portátil, reorientable y de código abierto (basada en LLVM) del estándar OpenCL. (
Cód
) (
Doc
)
|
MIT
|
cmake
|
|
RaftLib
|
Actores concurrentes estilo flujo de datos en C++17 que permiten computaciones paralelas de flujo de datos
|
Apache-2.0
|
cmake
|
|
SObjectizer
|
Un pequeño framework multiplataforma para aplicaciones concurrentes y dirigidas por eventos en C++ utilizando modelos de actores y publicación-suscripción.
|
BSD-3-Clause
|
cmake, vcpkg, conan
|
|
stdgpu
|
Estructuras de Datos Eficientes Similares a STL en la GPU
|
Apache 2.0
|
cmake
|
|
subprocess
|
Biblioteca multiplataforma C++17/20 para ejecutar subprocesos
|
MIT
|
cmake, teaport
|
|
Taskflow
|
Programación Paralela de Tareas en C++ Moderno
|
TASKFLOW MIT
|
cmake
|
|
task-thread-pool
|
Grupo de hilos rápido y ligero para C++11 y versiones más recientes.
|
BSD-2-Clause o MIT o BSL-1.0
|
cmake, vcpkg, encabezado único
|
|
ThreadPool
|
Un grupo de hilos simple y ligero
|
BSD-3-Clause
|
solo cabecera; cmake, make
|
|
thread_pool
|
Un grupo de hilos moderno, rápido y ligero
|
MIT
|
cmake
|
|
Thrust
|
Algoritmos paralelos y estructuras de datos similares a STL sobre CUDA, TBB u OpenMP
|
Apache v2.0, Boost v1.0.
|
cmake
|
|
TimerAlarm
|
Temporizadores y Alarmas basados en hilos.
|
BSD-3-Clause
|
solo cabecera; cmake, make
|
|
VexCL
|
Una biblioteca de plantillas de expresión vectorial en C++ para OpenCL, CUDA, OpenMP
|
MIT
|
cmake
|
|
ViennaCL
|
Álgebra lineal y algoritmos con backends OpenMP, CUDA y OpenCL. (
Cód
) (
Doc
)
|
Personalizado
|
cmake
|
|
Xenium
|
Una biblioteca C++17 que proporciona varias estructuras de datos concurrentes y esquemas de reclamación.
|
MIT
|
solo cabecera; cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Argh!
|
Un manejador de argumentos minimalista.
|
BSD 3-Clause
|
header-only; cmake, vcpkg
|
|
argparse (hbristow)
|
Una clase C++ ligera para analizar argumentos de línea de comandos, con una interfaz similar a la clase homónima de Python.
|
BSD
|
|
|
argparse (morrisfranken)
|
Una biblioteca ligera para analizar argumentos de línea de comandos de manera elegante.
|
Apache 2
|
header-only; cmake
|
|
argparse (p-ranav)
|
Un analizador de argumentos de línea de comandos para C++17
|
MIT
|
header-only; cmake, vcpkg
|
|
args
|
Una biblioteca simple de análisis de argumentos para C++.
|
MIT
|
header-only; cmake, conan, meson, vcpkg
|
|
Boost.Program_options
|
La biblioteca permite obtener opciones de programa, es decir, pares (nombre, valor) del usuario, mediante métodos convencionales como línea de comandos, archivo de configuración y variables de entorno.
|
BSL-1.0
|
|
|
CLI11
|
Un analizador de línea de comandos para C++11 que proporciona un conjunto de funciones rico con una interfaz simple e intuitiva.
|
BSD-3-Clause
|
header-only; cmake, meson, vcpkg
|
|
clipp
|
Análisis de Argumentos Potente y Expresivo para C++ Moderno.
|
MIT
|
header-only; cmake, vcpkg
|
|
cmd_line_parser
|
Analizador de línea de comandos para C++17.
|
MIT
|
header-only; cmake
|
|
cmdlime
|
Una biblioteca C++17 para análisis de línea de comandos que proporciona una interfaz concisa y declarativa con soporte para subcomandos, validadores y la capacidad de elegir el formato de opciones de línea de comandos GNU, POSIX o X11.
|
MS-PL
|
cmake
|
|
cxxopts
|
Un analizador de argumentos de línea de comandos ligero para C++11/C++17, compatible con la sintaxis de estilo GNU estándar para opciones.
|
MIT
|
header-only; bazel, cmake
|
|
fire-hpp
|
Cree CLIs completamente funcionales utilizando firmas de funciones.
|
BSL-1.0
|
header-only; cmake
|
|
flags
|
Analizador de argumentos simple y extensible para C++17.
|
Unlicense
|
header-only; cmake
|
|
gflags
|
Una biblioteca que implementa el procesamiento de flags de línea de comandos. Incluye soporte incorporado para tipos estándar como cadena y la capacidad de definir flags en el archivo fuente en el que se utilizan.
|
BSD
|
cmake
|
|
structopt
|
Analice argumentos de línea de comandos definiendo una estructura.
|
MIT
|
header-only; cmake
|
|
tclap
|
Una biblioteca de plantillas C++ simple para analizar argumentos de línea de comandos. La biblioteca proporciona una interfaz orientada a objetos simple y flexible.
|
MIT
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
ArduinoJson
|
Biblioteca JSON C++98/11/14/17 para Arduino, IoT y C++ embebido
|
MIT
|
cmake
|
|
Boost.JSON
|
El análisis, serialización y DOM de JSON en C++11/17
|
BSL-1.0
|
|
|
cajun-jsonapi
|
Una API de C++ para JSON con énfasis en una interfaz intuitiva y concisa que imita lo más posible al C++ estándar.
|
|
make
|
|
DAW JSON Link
|
Una biblioteca C++17 que proporciona enlaces estáticos de C++ con verificación de tipos, permitiendo el análisis directo a estructuras de datos del usuario sin asignación de biblioteca, modos push/pull, soporte de asignadores, constexpr
|
BSL 1.0
|
cmake
|
|
Glaze
|
Una de las bibliotecas JSON más rápidas (C++23) con serialización directa de memoria. También admite BEVE y CSV.
|
MIT
|
cmake, conan, build2, vcpkg
|
|
jansson
|
Una biblioteca C para codificar, decodificar y manipular datos JSON con soporte UTF-8
|
MIT
|
cmake, make
|
|
jeayeson
|
Una biblioteca JSON para C++14 muy sensata
|
BSD-3
|
solo cabecera
|
|
jios
|
Flujos de Entrada y Salida JSON
|
MIT
|
cmake
|
|
JOST
|
|
|
|
|
json
|
JSON de Niels Lohmann para C++11, con sintaxis intuitiva
|
MIT
|
solo cabecera; bazel, cmake, meson
|
|
Jsonifier
|
Algunas clases C++20 para análisis/serialización JSON extremadamente rápida
|
MIT
|
cmake
|
|
JSON Voorhees
|
JSON asesino para C++11 (
Doc
)
|
Apache-2.0
|
cmake
|
|
JSON++
|
|
|
|
|
json11
|
Una pequeña biblioteca JSON para C++11, que proporciona análisis y serialización JSON.
|
MIT
|
cmake
|
|
JsonBox
|
Una biblioteca de C++ utilizada para leer y escribir JSON con facilidad y rapidez.
|
MIT
|
cmake
|
|
jsoncons
|
Una biblioteca para formatos de datos JSON y similares a JSON, con JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON.
|
Personalizada
|
solo encabezado
|
|
jsoncpp
|
Una biblioteca que permite manipular valores JSON, incluyendo serialización y deserialización, preservando comentarios.
|
MIT
|
cmake, conan, vcpkg
|
|
libjson
|
|
|
|
|
minijson
|
Un análisis y serialización JSON sin DOM y sin asignación de memoria en C++
|
Personalizada
|
cmake
|
|
Neyson
|
Biblioteca JSON Ligera para C++11
|
BSD-3-Clause
|
cmake
|
|
nosjob
|
Una biblioteca C++98 para generar y consumir datos JSON
|
MIT
|
make
|
|
qjson
|
|
|
|
|
rapidjson
|
Un analizador/generador JSON rápido para C++ con API de estilo SAX/DOM, compatible con UTF-8/16/32, opcionalmente utiliza SIMD. (
Doc
)
|
Personalizada
|
solo cabecera; cmake, vcpkg
|
|
simdjson
|
Analiza gigabytes de JSON por segundo aprovechando las microarquitecturas modernas y paralelizando con SIMD (
Doc
) (
Video
)
|
Apache-2.0
|
cmake, vcpkg
|
|
struct_mapping
|
Mapea JSON hacia y desde una estructura C++
|
MIT
|
cmake
|
|
swxJson
|
La biblioteca C++ JSON más conveniente actualmente en uso. Lee y escribe estructuras complejas en cualquier nivel con solo una llamada de función. El rendimiento es aproximadamente la mitad del de RapidJSON.
|
MIT
|
make
|
|
ThorsSerializer
|
Flujos de Entrada/Salida JSON/BSON/YAML
|
MIT
|
make
|
|
ujson
|
µjson es una biblioteca JSON pequeña, en C++11, con codificación UTF-8
|
cmake
|
|
|
yyjson
|
Una biblioteca JSON de alto rendimiento escrita en C ANSI
|
MIT
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Boost.Bimap
|
Una biblioteca de mapas bidireccionales que ofrece contenedores asociativos como
bimap<X,Y>
en los que tanto
X
como
Y
pueden usarse como clave. (
Src
)
|
BSL-1.0
|
|
|
Boost.Container
|
Una biblioteca que implementa varios contenedores conocidos, incluyendo contenedores similares a los de la biblioteca estándar, así como contenedores recursivos y nuevos contenedores útiles:
flat_map
,
flat_set
,
flat_multimap
,
flat_multiset
,
stable_vector
,
static_vector
,
small_vector
,
devector
. (
Fuente
)
|
BSL-1.0
|
solo cabecera
|
|
Boost.Fusion
|
Una biblioteca para trabajar con colecciones heterogéneas de
tuples
. Proporciona un conjunto de contenedores (
vector
,
list
,
set
y
map
), junto con una presentación transformada de sus datos subyacentes, también conocida como
views
." (
Src
)
|
BSL-1.0
|
|
|
Boost.Heap
|
Una implementación de
priority queues
con más funcionalidad y diferentes características de rendimiento que las de la biblioteca estándar. (
Src
)
|
BSL-1.0
|
|
|
Boost.Pointer Container
|
Proporciona contenedores para almacenar
objetos asignados en el heap
de manera segura ante excepciones y con sobrecarga mínima. (
Fuente
)
|
BSL-1.0
|
|
|
Boost.Tuple
|
Implementa n-
tuple
pre-C++11 (una colección de tamaño fijo de elementos) (
Fuente
)
|
BSL-1.0
|
|
|
Boost.Variant
|
Implementa
variant
pre-C++17 (un contenedor seguro, genérico, basado en pila de
union
discriminada) (
Fuente
)
|
BSL-1.0
|
|
|
C++ Allocators
|
Asignadores conformes con la biblioteca estándar para memoria estática de tamaño fijo y basada en pila + otro asignador conforme que permite asignación personalizada de límites
|
BSD-3-Clause
|
cmake, make
|
|
cpp-btree
|
Los contenedores B-tree aprovechan mejor la caché de la CPU:
btree_map
,
btree_set
,
btree_multimap
,
btree_multiset
. (
Fuente
)
|
Apache-2.0
|
solo cabecera; cmake
|
|
DataFrame
|
DataFrame de C++ para análisis estadístico, financiero y de aprendizaje automático -- en C++ moderno utilizando tipos nativos y almacenamiento de memoria continua
|
BSD-3-Clause
|
cmake, make, conan, vcpkg
|
|
eggs::variant
|
Eggs.Variant es una unión discriminada genérica, segura en tipos y para C++11/14/17. Es notable en particular por tener un muy buen
constexpr
soporte.
|
BSL-1.0
|
cmake
|
|
Frozen
|
C++14
constexpr
conjuntos inmutables, mapas y algoritmos basados en perfect-hashing.
|
Apache-2.0
|
solo cabecera; cmake
|
|
Immer
|
Una biblioteca de estructuras de datos persistentes e inmutables
|
Boost
|
cmake
|
|
plf::colony
|
Contenedor desordenado "tipo bolsa" que supera en rendimiento a los contenedores
std::
en escenarios de alta modificación, manteniendo punteros válidos a elementos no borrados independientemente de inserciones y eliminaciones. Compatible con C++98/11/14/etc. Véase también
P0447
(
std::hive
). (
Fuente
)
|
zlib
|
conan
build2
|
|
plf::list
|
Una implementación de
std::list
que sacrifica el empalme de rangos por amigabilidad con la caché, produciendo una inserción, borrado e iteración más rápidos. Compatible con C++98/03/11/14/17/20/23/26/etc. (
Cód
) (
Doc
)
|
zlib
|
—
|
|
plf::reorderase
|
Una extensión y optimización del patrón "swap-and-pop"/"move-and-pop" para contenedores de acceso aleatorio para incrementar el rendimiento de borrado en contenedores de acceso aleatorio, cuando el orden posterior al borrado no es importante. Cubre borrados individuales, por rango y estilo
std::erase_if
. Compatible con C++98/11/14/etc. (
Fuente
)
|
zlib
|
|
|
plf::queue
|
Un contenedor de reemplazo directo para el
std::queue
adaptador de contenedor con mejor rendimiento que
std::deque
y
std::list
en un contexto de cola. Compatible con C++98/11/14/etc. (
Fuente
)
|
zlib
|
|
|
plf::stack
|
Un contenedor de reemplazo directo para el
std::stack
adaptador de contenedor con mejor rendimiento que
std::vector
y
std::deque
en un contexto de pila. Compatible con C++98/11/14/etc. (
Código
)
|
zlib
|
|
|
ring_span
|
Una implementación ligera de
ring_span
de Arthur O'Dwyer, también conocida como vista de búfer circular. Compatible con C++98.
|
BSL-1.0
|
solo cabecera; cmake
|
|
strict_variant
|
Una variante compatible con tiempo real/embebido (es decir, compatible con
-fno-exceptions
/
-fno-rtti
), que nunca está vacía, dirigida a C++11. Rápida, previene muchas conversiones implícitas no deseadas.
|
BSL-1.0
|
cmake
|
|
tiny::optional
|
Un reemplazo para
std::optional
que permite el uso de valores centinela para eliminar la sobrecarga de almacenamiento en memoria.
|
BSL-1.0
|
cmake
|
|
Ygg
|
Una implementación intrusiva en C++11 de contenedores y estructuras de datos de alto rendimiento como un
Árbol rojo-negro
, un
Árbol de intervalos
y un Mapa de intervalos.
|
MIT
|
solo cabecera; cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Boost::MySQL
|
Biblioteca cliente de MySQL
|
BSL-1.0
|
|
|
cpp-redis
|
Cliente Redis ligero para C++11: asíncrono, seguro para hilos, sin dependencias, canalización, multiplataforma. (
Doc
)
|
MIT
|
cmake
|
|
DTL
|
Hace que los conjuntos de registros ODBC se vean como un contenedor STL (
Cód
) (
Doc
)
|
|
|
|
EasyQtSql
|
Una biblioteca ligera C++11 (basada en Qt) para consultas SQL rápidas y sencillas
|
MIT
|
solo cabecera; qmake
|
|
Galera
|
El Galera Cluster es la biblioteca de replicación multi-maestra síncrona (Galera) y una API de Write Set Replication (WSREP) para MySQL/MariaDB (
Src
)
|
GPLv2
|
cmake, scons
|
|
LevelDB
|
Una biblioteca C++ desarrollada por Google que maneja almacenamiento persistente de datos Clave-Valor a escala de miles de millones. (
Doc
)
|
BSD-3
|
cmake
|
|
libpqxx
|
El conector C++ para PostgreSQL (
Src
)
|
BSD-3
|
cmake, make
|
|
lmdb++
|
Envoltura C++11 para la biblioteca de base de datos LMDB con árbol B+ integrado.
|
Unlicense
|
make
|
|
mongocxx
|
Una biblioteca oficial de controladores C++11 para MongoDB (
Doc
). Ofrece APIs optimizadas para operaciones CRUD, indexación y agregación. Compatible con BSON y con características como agrupación de conexiones y mecanismos de autenticación, proporciona soluciones de alto rendimiento y escalables para construir aplicaciones C++ que aprovechan MongoDB.
|
Apache 2.0
|
cmake
|
|
mysql++
|
Base de datos MySQL y herramientas
|
|
|
|
nanodbc
|
Un contenedor pequeño, multiplataforma y C++14 para la API nativa C de ODBC
|
MIT
|
cmake
|
|
ODB
|
Un sistema ORM (mapeo objeto-relacional) de código abierto, multiplataforma y multidatabase para C++. ODB es compatible con bases de datos relacionales MySQL, SQLite, PostgreSQL, Oracle y Microsoft SQL Server, así como con los estándares de lenguaje C++98/03 y C++11.
|
GPL2 y/o NCUEL
|
|
|
OTL
|
Una biblioteca de bases de datos basada en plantillas C++ para Oracle DB, ODBC y DB2-CLI. (
Código
)
|
|
|
|
Pgfe
|
La API cliente (FrontEnd) de PostgreSQL en C++ moderno
|
Zlib
|
cmake
|
|
QTL
|
Una biblioteca de base de datos C++ amigable y liviana para MySQL, SQLite y ODBC.
|
Apache-2.0
|
make
|
|
QUINCE
|
QU
eries
IN
C
++
E
xpressions (ORM+EDSL)
|
Boost
|
|
|
QxOrm
|
Una biblioteca de base de datos
O
bjeto
R
elacional
M
apeo (ORM) para C++/Qt, compatible con la mayoría de bases de datos comunes, serialización (JSON, binario, XML); servidor web HTTP independiente multiproceso
|
GPLv3 o Propietario
|
|
|
redis-cpp
|
Una biblioteca cliente ligera de C++17 para ejecutar comandos Redis.
|
MIT
|
solo cabecera; cmake
|
|
redis-plus-plus
|
Un cliente de Redis escrito en C++ 11, y compatible con Redis Sentinel, Redis Cluster, pipeline, transacción, pubsub, agrupación de conexiones e interfaz similar a STL
|
Apache-2.0
|
cmake
|
|
SOCI
|
Una biblioteca de bases de datos basada en plugins que incrusta consultas SQL en código C++ regular; los backends compatibles incluyen: DB2, Firebird, MySQL, ODBC (backend genérico), Oracle, PostgreSQL, SQLite3. (
Fuente
) (
Doc
)
|
Boost
|
cmake
|
|
SQLAPI++
|
Una biblioteca middleware de bases de datos en C++ que soporta múltiples sistemas de bases de datos SQL: Oracle, SQL Server, DB2, Sybase, MySQL, PostgreSQL, SQLite, Informix, InterBase / Firebird, SQLBase, SQL Anywhere, ODBC, MariaDB. (
Fuente
) (
Doc
)
|
Personalizada
|
make
|
|
SQLiteCPP
|
Un envoltorio C++ SQLite3 delgado y fácil de usar.
|
MIT
|
cmake, meson, vcpkg
|
|
SQLite ORM
|
Un
L
enguaje de
D
ominio
E
specífico
I
ncorporado (EDSL) para SQL, tal como lo entiende SQLite, para C++ moderno.
|
AGPL-3.0, MIT
|
solo cabecera; cmake, vcpkg
|
|
sqlpp11
|
Un lenguaje de dominio específico embebido con seguridad de tipos para consultas y resultados SQL en C++.
|
BSD-2
|
cmake
|
|
taoPQ
|
Una biblioteca cliente ligera de PostgreSQL para C++17
|
Boost
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Abseil
|
Una colección de código de biblioteca C++ de código abierto de Google diseñada para complementar la biblioteca estándar de C++. (
Doc
) (
Src
)
|
Apache-2.0
|
cmake
|
|
Contenedores Intrusivos Abstractos
|
Más flexible que
Boost.Intrusive
, pero no compatible con STL.
|
|
|
|
Au
|
Una biblioteca de unidades físicas compatible con C++14 sin dependencias, con énfasis en seguridad, accesibilidad y rendimiento. (
Doc
)
|
Apache 2.0
|
solo cabecera
|
|
BDE
|
Las bibliotecas centrales del Entorno de Desarrollo Bloomberg de Bloomberg L.P.
|
Apache
|
|
|
Better Enums
|
Enumeraciones reflexivas (enum a string, iteración, etc.) con soporte constexpr.
|
BSD-2
|
header-only, cmake, make
|
|
bitfield.h
|
Facilidad de estructura de campos de bits, más portátil/flexible que la facilidad del lenguaje base.
|
|
|
|
Boost
|
Una gran colección de bibliotecas genéricas
|
BSL-1.0
|
|
|
CAF
|
The C++ Actor Framework (CAF) es una implementación de código abierto del modelo de actores para C++11 que incluye implementaciones de actores ligeros y rápidos, coincidencia de patrones para mensajes, mensajería transparente a la red, y más
|
BSD
|
|
|
Cinder
|
Una biblioteca desarrollada por la comunidad, gratuita y de código abierto para programación creativa de calidad profesional en C++. (
Doc
) (
Src
)
|
Modified BSD
|
cmake
|
|
CommonPP
|
Una biblioteca multipropósito con un fuerte énfasis en obtener métricas de un proyecto.
|
BSD
|
|
|
composite_op.h
|
Introspección básica de miembros de datos de clase, engorrosa y a menudo no reentrante, pero a veces útil.
|
|
|
|
cpp-mmf
|
Una biblioteca C++98 que encapsula archivos mapeados en memoria para POSIX o Windows
|
|
|
|
cxxomfort
|
Retrocompatibilidad de características de C++ (C++11 a C++03 y propuestas de C++1y a C++11/C++03).
|
|
|
|
Dlib
|
Redes, hilos, interfaces gráficas, estructuras de datos, álgebra lineal, aprendizaje automático, análisis de XML y texto, optimización numérica, redes bayesianas, y numerosas otras tareas
|
Boost
|
|
|
eventpp
|
Una biblioteca de eventos en C++ para callbacks, despachador de eventos y cola de eventos. Con eventpp puedes implementar fácilmente el mecanismo de señal y ranura, el patrón publicador y suscriptor, o el patrón observador.
|
Apache 2.0
|
|
|
fcppt
|
Freundlich's C++ Toolkit (fcppt) es una colección de bibliotecas que se centra en mejorar el código general de C++ proporcionando mejores tipos y haciendo uso de la programación funcional.
|
|
|
|
Folly
|
Biblioteca de código abierto de Facebook. Una biblioteca multiplataforma de componentes C++14 diseñada con practicidad y eficiencia en mente. (
Doc
)
|
Apache-2.0
|
cmake, vcpkg
|
|
GSL
|
Biblioteca de Soporte de las
G
uías
S
principales de
L
enguaje C++, recomendada por Bjarne Stroustrup, Herb Sutter y Colaboradores en las
Guías Principales de C++
|
MIT
|
cmake, vcpkg
|
|
gsl-lite
|
Una versión de ISO C++ Guideline Support Library (GSL) para C++98, C++11 y posteriores
|
MIT
|
solo cabecera
|
|
GUL14
|
Biblioteca de Utilidades General para C++14 de
DESY
: Funciones y tipos de utilidad de uso frecuente, incluyendo utilidades de cadena, funciones estadísticas y numéricas, contenedores, medios de depuración, etc. (
Fuente
)
|
LGPL-2.1
|
meson, vcpkg
|
|
History
|
Framework Moderno de Deshacer/Rehacer para C++17
|
Unlicense
|
|
|
hspp
|
Una biblioteca experimental para llevar la Programación al Estilo Haskell a C++.
|
Apache-2.0
|
header-only
|
|
IP-DOS (tm)
|
IdeaFarm (tm) Sistema Operativo Distribuido Piggyback: Un entorno de programación de propósito general para el lenguaje C++.
|
Código Abierto Propietario
|
Open Watcom 2.0
|
|
JUCE
|
Un kit de herramientas C++ multiplataforma extenso y maduro
|
GPL
|
|
|
Kangaru
|
Un contenedor de inyección de dependencias para C++11 y C++14
|
MIT
|
|
|
Kerbal
|
Retroadaptación de facilidades modernas de STL a estándares anteriores. ¡Más características! ¡Más constexpr!
|
LGPL-3.0
|
solo cabecera; cmake
|
|
libsourcey
|
Una biblioteca C++14 multiplataforma para redes de alta velocidad y codificación multimedia. HTTP, WebSockets, TURN, STUN, Symple y más.
|
LGPL-2.1
|
cmake
|
|
LLNL/units
|
Una biblioteca C++ en tiempo de ejecución para trabajar con unidades de medida y conversiones entre ellas, y con representaciones de cadenas de unidades y mediciones
|
BSD 3-Clause "New" or "Revised"
|
cmake
|
|
Loki
|
Una biblioteca C++ de diseños, que contiene implementaciones flexibles de patrones de diseño e idiomas comunes.
|
MIT
|
make
|
|
match(it)
|
Una biblioteca ligera de coincidencia de patrones para C++17 con APIs libres de macros.
|
Apache-2.0
|
solo cabecera
|
|
nonstd-lite
|
Una lista de repositorios *-lite (por ejemplo,
span-lite
,
scope-lite
,
expected-lite
) que contienen implementaciones C++98/11 de algunos de los tipos de biblioteca propuestos o ya estandarizados de C++17/20/23, como
std::span
,
std::expected
etc).
|
BSL-1.0
|
solo cabecera
|
|
nytl
|
Una biblioteca de plantillas de utilidad genérica para C++17.
|
BSL-1.0
|
solo encabezado
|
|
OnPosix
|
Biblioteca C++ que proporciona varias abstracciones (por ejemplo, threading, networking, logging, IPC, etc.) en plataformas POSIX.
|
|
|
|
Reason
|
XML, xpath, regex, threads, sockets, HTTP, SQL, date-time, streams, encoding and decoding, filesystem, compression
|
GPL
|
|
|
SaferCPlusPlus
|
Sustitutos compatibles seguros para primitivas inseguras de C++, incluyendo punteros,
int
y
std::vector
.
|
Boost
|
|
|
Smart Enum
|
to_string
,
from_string
y más para tus enums.
|
BSL-1.0
|
cmake
|
|
units
|
Una biblioteca de análisis dimensional y conversión de unidades en tiempo de compilación construida sobre C++14 sin dependencias
|
MIT
|
solo cabecera
|
|
yaal
|
Y
et
A
nother
A
bstraction
L
ayer - algoritmos, colecciones, cálculo de precisión arbitraria, analizadores dirigidos por gramática DSL genérica y más
|
CC BY-ND-NC 4.0
|
cmake
|
|
Yato
|
Una biblioteca moderna de C++(14/17) multiplataforma con estilo STL y compatible con STL que implementa contenedores, rangos, iteradores, rasgos de tipo y otras herramientas; sistema de actores; interfaz de configuración con seguridad de tipos.
|
Apache-2.0
|
cmake
|
|
yomm2
|
Métodos múltiples abiertos para C++17
|
Boost
|
|
|
zoolib
|
ZooLib es un kit de herramientas C++ con múltiples funciones.
|
MIT
|
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Brisk
|
Framework GUI modular C++20 multiplataforma, con capacidades reactivas y renderizado escalable acelerado por GPU. (
Src
), (
Doc
)
|
GPL2+/Propietaria
|
cmake, vcpkg
|
|
Dear ImGui
|
Una biblioteca GUI ligera para C++ con dependencias mínimas, portable, independiente del renderizado, optimizada para uso en aplicaciones con pipeline 3D.
|
MIT
|
vcpkg
|
|
FLTK
|
Un toolkit GUI multiplataforma en C++ (Linux, Windows, MacOS) que proporciona funcionalidad GUI moderna y soporta gráficos 3D mediante OpenGL/GLUT. Diseñado para ser pequeño y modular. Incluye un constructor de interfaces.
|
LGPL ver.2
|
|
|
nana
|
Programación GUI multiplataforma en estilo C++ moderno. (
Src
), (
Doc
)
|
BSL-1.0
|
cmake, vcpkg
|
|
nanogui
|
Una biblioteca de widgets multiplataforma minimalista para OpenGL 3.x o superior (
Doc
)
|
|
|
|
OWLNext
|
Actualización moderna de
OWL
para escribir aplicaciones GUI en C++ estándar en Windows
|
|
|
|
Slint
|
Un toolkit GUI declarativo para construir interfaces de usuario nativas para escritorio, embebidos y microcontroladores. (
Src
), (
Doc
)
|
GPL 3,
Libre de regalías
, o Comercial
|
cmake
|
|
tiny file dialogs
|
Un conjunto de diálogos de archivo multiplataforma en C/C++ (sin init, sin bucle principal, 6 llamadas de función modales)
|
|
solo cabecera
|
|
U++
|
Un framework de desarrollo rápido de aplicaciones multiplataforma (Windows, GNU/Linux, macOS) con IDE incluido. Compatible con C++17. (
Doc
) (
Src
)
|
BSD-3-Clause
|
make
|
|
WxWidgets
|
Un framework C++ multiplataforma (Windows, GNU/Linux, macOS) libre y de código abierto para escribir aplicaciones GUI avanzadas usando controles nativos. (
Doc
)
|
LGPL Modificada
|
cmake, make
|
|
xtd
|
Un framework C++17/20 moderno para crear aplicaciones de consola, GUI y pruebas unitarias en Windows, macOS, Linux, iOS y Android. (
Src
) (
Doc
)
|
MIT
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
bgfx
|
Una potente biblioteca de renderizado gráfico 2D/3D multiplataforma (Windows, Mac, Linux, iOS, Android, Web) con soporte para shaders y backends de renderizado: DX, OpenGL, Metal, WebGL, Vulkan, etc. (
Doc
)
|
BSD-2
|
make
|
|
cairomm
|
Un wrapper C++ para la
biblioteca gráfica cairo
que es una biblioteca 2D con soporte para múltiples dispositivos de salida: X Window, Quartz, Win32, buffers de imagen, PostScript, PDF, SVG, OpenGL (experimental).
|
LGPL
|
|
|
dfpsr
|
Un renderizador software 2D, 3D e isométrico con toolkit de GUI para escritorio, dependencias minimalistas, diseñado para mantenimiento a largo plazo y puede ejecutarse sin controladores de aceleración 3D
|
zlib
|
|
|
gegl
|
Ge
neric
G
raphics
L
ibrary (GEGL) es un framework de procesamiento de imágenes basado en flujo de datos, que proporciona capacidades de procesamiento de punto flotante y procesamiento de imágenes no destructivo. (
Src
)
|
LGPL
|
|
|
io2d
|
Una implementación de referencia de
P0267
, la propuesta de
API de gráficos 2D para ISO C++
|
BSL-1.0
|
cmake
|
|
nanovg
|
Una biblioteca de dibujo vectorial 2D con antialiasing en C sobre OpenGL para UI y visualizaciones, con ports a DX11/Metal/bgfx.
|
zlib
|
|
|
nux
|
Un toolkit de OpenGL
|
LGPL v3
|
|
|
pangomm
|
La interfaz oficial C++ para la biblioteca de diseño de fuentes
Pango
. (
Src
)
|
LGPL v2.1
|
make
|
|
Skia
|
Una biblioteca de gráficos 2D de código abierto escrita en C++.
Skia Graphics Engine
se utiliza en Google Chrome, Chrome OS, Mozilla Firefox, Android, LibreOffice, Flutter, etc.
Skia
tiene varios back-ends: rasterización por software, salida (PDF), OpenGL, SVG, etc.
|
New BSD
|
|
|
TXLib
|
TX Library es una pequeña biblioteca de gráficos 2D para Win32 escrita en C++.
|
|
|
|
ULIS
|
Una biblioteca C++14 multiplataforma para procesamiento genérico de imágenes digitales, rasterizador software 2D, formatos de imagen ilimitados (
u8
,
u16
,
u32
,
float
,
double
), Diseño de memoria personalizado con orden de bits, Todos los modos de mezcla de píxeles de Photoshop + 11 modos adicionales, Modelos de color (RGB, HSL, HSV, CMYK, ...), Pipelines con gestión de color, Soporte de espacios de color (perfiles icm y independientes del dispositivo), Algoritmos optimizados con multihilo, Algoritmos optimizados con extensiones SIMD (SSE2), Pools de imágenes y cachés para optimizaciones, Almacenamiento en memoria de secuencias de imágenes animadas.
|
Personalizada (gratuita solo para fines no comerciales)
|
cmake
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
assimp
|
Carga de modelos 3D
|
BSD-3
|
cmake, vcpkg
|
|
bgfx
|
Una biblioteca de renderizado multiplataforma, independiente de la API de gráficos, estilo "Trae Tu Propio Motor/Marco de Trabajo".
|
BSD-2
|
make, vcpkg
|
|
Diligent Engine
|
Una biblioteca moderna de gráficos 3D de bajo nivel multiplataforma.
|
Apache-2.0
|
cmake
|
|
Epoxy
|
Un sucesor moderno de GLEW. Abstracta las diferencias entre algunos tipos de contextos GL, lo que a veces lo hace más simple de usar que GLEW. Utilizado por el proyecto GTK+ desde 2015.
|
MIT
|
meson, vcpkg
|
|
G3D
|
El G3D Innovation Engine es un motor de juegos 3D de código abierto, multiplataforma (Windows, Linux, Mac OS) y completamente equipado, escrito en C/C++. G3D se utiliza en juegos comerciales, artículos de investigación, simuladores y cursos universitarios. Soporta renderizado por hardware en tiempo real y offline, trazado de rayos, carga de modelos, álgebra lineal y computación GP en GPUs. Soporta formatos 3DS, OBJ, MP4, PNG, JPG, MD3 y muchos otros, incluye una GUI nativa OpenGL con soporte para skins. (
Src
) (
Doc
)
|
BSD-2
|
|
|
GLAD
|
Una biblioteca personalizable y ligera para cargar funciones de OpenGL
|
|
|
|
GLEW
|
Un cargador de funciones de OpenGL (
Código
)
|
EXTGL/BSD/MIT
|
make, vcpkg
|
|
GLFW
|
Un gestor de ventanas OpenGL (
Código
) (
Doc
)
|
zlib/libpng
|
cmake, vcpkg
|
|
GLM
|
La biblioteca de matemáticas
GL
M
(OpenGL Mathematics) es una biblioteca de matemáticas en C++ para software gráfico basada en la especificación
GLSL
.
|
The Happy Bunny /
MIT
|
solo cabecera; cmake, vcpkg
|
|
Godot
|
Un motor de juegos multiplataforma completo para 2D y 3D en C++17 con un editor de interfaz gráfica escrito en sí mismo y un lenguaje de scripting inspirado en Python.
|
MIT
|
scons
|
|
hlsl++
|
Una biblioteca matemática de C++ para renderizado usando sintaxis HLSL. Soporta SSE y NEON
|
MIT
|
solo encabezado
|
|
Horde3D
|
Un motor de renderizado 3D pequeño y de código abierto. Está escrito con el objetivo de crear un motor gráfico que ofrezca los efectos visuales impresionantes esperados en los juegos de próxima generación, siendo ligero y lo más limpio posible.
|
EPL
|
|
|
Irrlicht
|
El Motor Irrlicht es un motor 3D en tiempo real de código abierto escrito en C++. Es multiplataforma, utilizando D3D, OpenGL y sus propios renderizadores de software.
|
zlib/libpng
|
make, vcpkg
|
|
klein
|
Una biblioteca C++11/14/17 de Álgebra Geométrica Proyectiva optimizada con SSE para gráficos y animación
|
MIT
|
cmake, vcpkg
|
|
Magnum
|
Un middleware gráfico ligero y modular en C++11/C++14 para juegos y visualización de datos (
Código
)
|
Personalizada
|
cmake
|
|
O3DE
|
El
O
pen-source
3D
E
ngine (anteriormente Amazon's Lumberyard) es un motor 3D multiplataforma en C++ para construir juegos AAA, mundos 3D de calidad cinematográfica y simulaciones de alta fidelidad. Incluye simulación física, motor de scripting, redes y
más
. (
Doc
)
|
Apache 2.0
|
cmake
|
|
Ogre3D
|
OGRE es un Motor de Renderizado de Gráficos Orientado a Objetos - una biblioteca de visualización multipropósito, adecuada para visualización científica, juegos, simulación, realidad virtual y otros proyectos gráficos. Es multiplataforma y muy robusto, con una buena documentación.
|
MIT
|
cmake, vcpkg
|
|
Open CASCADE
|
SDK para aplicaciones CAD/CAM/CAE 3D (
Código
)
|
LGPL-2.1
|
cmake
|
|
OpenGL
|
Lenguaje 3D, gráficos y SDK para desarrollar aplicaciones 3D.
|
Khronos (MIT)
|
|
|
OpenSceneGraph
|
OpenSceneGraph es un toolkit de gráficos 3D de alto rendimiento de código abierto, utilizado por desarrolladores de aplicaciones en campos como simulación visual, juegos, realidad virtual, visualización científica y modelado. (
Src
) (
Doc
)
|
Personalizada,
GNU LGPL
|
cmake, vcpkg
|
|
Visionaray
|
Una biblioteca de plantillas de trazado de rayos en C++.
|
MIT
|
cmake
|
|
VTK
|
Visualization Toolkit (VTK) es un software de código abierto para manipular y visualizar datos científicos. Incluye herramientas de vanguardia para renderizado 3D, un conjunto de widgets para interacción 3D y amplias capacidades de gráficos 2D.
|
BSD-3
|
cmake, vcpkg
|
|
Vulkan
|
Una API de bajo nivel que elimina muchas de las abstracciones presentes en las API gráficas de generaciones anteriores. Esto es excelente para ofrecer el máximo rendimiento, pero tiene el efecto secundario de exponer más complejidad al desarrollador. Afortunadamente, existen varios tutoriales excelentes para ayudar a superar este obstáculo y volverse productivo rápidamente.
|
Khronos (MIT)
|
make, vcpkg
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Backward
|
Imprime trazas de pila con estilo Python, con colores y fragmentos de código fuente, especialmente en fallos.
|
MIT
|
header-only; cmake, conan
|
|
Boost.Log
|
Una biblioteca de registro multiplataforma, fácil de usar, extensible y de alto rendimiento.
|
BSL-1.0
|
|
|
clutchlog
|
Sistema de registro de un solo encabezado que se enfoca en DEPURACIÓN versátil en lugar de almacenamiento de eventos de servicio.
|
BSD
|
cmake
|
|
cpptrace
|
Biblioteca de trazas de pila simple, portátil y autónoma para C++11 y versiones posteriores. Incluye trazas de pila seguras para señales, trazas de pila en excepciones, fragmentos de código fuente, etc.
|
MIT
|
cmake, conan, vcpkg
|
|
glog
|
Biblioteca de registro de Google para C++98 basada en flujos de estilo C++
|
Licencia
|
bazel, cmake, vcpkg
|
|
libassert
|
Biblioteca de aserciones completa para C++ que proporciona diagnósticos de alta calidad para fallos de aserción.
|
MIT
|
cmake, conan, vcpkg
|
|
Log4cplus
|
API de registro multiplataforma para C++17 (modelada según la API Java log4j) que proporciona control seguro para hilos, flexible y arbitrariamente granular sobre la gestión y configuración de registros.
|
BSD (dos cláusulas) o Apache 2.0
|
Autotools, cmake, Visual Studio
|
|
Log4cpp
|
Una biblioteca de clases C++ para registro flexible en archivos, syslog, IDSA y otros destinos.
|
LGPL
|
|
|
log4cxx
|
Apache log4cxx es un framework de registro para C++ basado en Apache log4j. (
Fuente
)
|
Apache
|
cmake
|
|
lwlog
|
Una biblioteca de registro para C++17 extremadamente rápida, síncrona y asíncrona
|
MIT
|
cmake
|
|
Pantheios
|
Una biblioteca API de registro de diagnóstico que ofrece una combinación de seguridad de tipos, eficiencia, genericidad y extensibilidad
|
estilo BSD
|
|
|
plog
|
Un registro portátil y simple para C++ en menos de 1000 líneas de código
|
MPL-2.0
|
|
|
Quill
|
Una biblioteca de registro asíncrona
de baja latencia
multiplataforma para C++14
|
MIT
|
cmake
|
|
spdlog
|
Una biblioteca de registro para C++ súper rápida
|
MIT
|
header-only; cmake, conan
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
alglib
|
ALGLIB es una biblioteca multiplataforma (Windows/POSIX/Linux) para análisis numérico y procesamiento de datos. Las características de ALGLIB incluyen: Análisis de datos, Optimización y solucionadores no lineales, Interpolación, Álgebra lineal y solucionadores lineales, FFT y muchos otros.
|
Gratuita (GPL/Personal/Académica) y Comercial
|
|
|
ArrayFire
|
Una biblioteca multiplataforma (Windows/OSX/Linux) de propósito general para HPC (CPU/GPU/OpenCL/CUDA/GPGPU) y computación paralela. Los dominios de ArrayFire son: Algoritmos Vectoriales, Procesamiento de Imágenes, Visión por Computador, Procesamiento de Señales, Álgebra Lineal, Estadísticas y más. (
Src
)
|
Personalizada
|
|
|
Boost.Math
|
Incluye varias contribuciones en el dominio de las matemáticas: Utilidades de Punto Flotante, Constantes Matemáticas, Distribuciones y Funciones Estadísticas, Estadísticas, Funcionales Vectoriales - Normas, Funciones Especiales, Algoritmos de Búsqueda de Raíces y Minimización, Polinomios y Funciones Racionales, Interpolación, Cuadratura y Diferenciación, Filtros, Funciones de Números Complejos, Cuaterniones, Octoniones, Utilidades de Enteros (Máximo Común Divisor y Mínimo Común Múltiplo), Series, Racionales y Fracciones Continuas.
|
BSL-1.0
|
|
|
Boost.Random
|
Proporciona una variedad de generadores y distribuciones para producir números aleatorios con propiedades útiles, como distribución uniforme.
|
BSL-1.0
|
|
|
Boost.SafeNumerics
|
C++14, Aritmética Entera Correcta Garantizada, un reemplazo directo para los tipos enteros incorporados.
|
BSL-1.0
|
solo cabecera
|
|
cpp-measures
|
Una biblioteca C++11 para manejar medidas físicas
|
MPL-2.0
|
solo cabecera
|
|
G+Smo
|
Una biblioteca multiplataforma para análisis isogeométrico (
Doc
)
|
MPL-2.0
|
cmake
|
|
GNU MP bignum C++ interface
|
Una interfaz de clase C++ conveniente que ofrece funciones y operadores sobrecargados. La
GMP
es una biblioteca C libre para aritmética de precisión arbitraria, que opera con enteros con signo, números racionales y de punto flotante.
|
GNU LGPL v3 y GNU GPL v2
|
|
|
libmpdec++
|
Una biblioteca C multiplataforma (con envoltorios C++) para aritmética decimal de punto flotante de precisión arbitraria con redondeo correcto.
|
BSD-2-Clause
|
make, nmake
|
|
NTL
|
Una Biblioteca para hacer Teoría de Números. NTL es una biblioteca C++ portable y de alto rendimiento que proporciona estructuras de datos y algoritmos para manipular enteros con signo de longitud arbitraria, y para vectores, matrices y polinomios sobre los enteros y sobre campos finitos.
|
LGPLv2.1+
|
|
|
PCGrand
|
PCG es una familia de algoritmos simples, rápidos, eficientes en espacio y estadísticamente buenos para la generación de números aleatorios. A diferencia de muchos RNGs de propósito general, también son difíciles de predecir.
|
Apache
|
|
|
stats++
|
Software estadístico avanzado y completo: recolección y preprocesamiento de datos, estadísticas, aprendizaje automático y optimización, con código fuente C++ abierto.
|
|
|
|
StatsLib
|
Una biblioteca de plantillas de funciones de distribución estadística.
|
Apache-2.0
|
solo cabecera
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Armadillo
|
Una biblioteca de plantillas C++ para álgebra lineal y computación científica que incluye wrappers para OpenBLAS, Intel MKL, LAPACK, ATLAS, ARPACK, SuperLU y FFTW. Útil para ML, reconocimiento de patrones, DSP, bioinformática, estadísticas, finanzas, etc.
|
Apache 2.0
|
|
|
Blasw
|
Un wrapper C++11 para BLAS y partes de LAPACK
|
BSD-3-Clause
|
header-only; cmake
|
|
Blaze
|
|
|
|
|
Blitz++
|
Una biblioteca de clases plantilla C++ que proporciona arrays y vectores densos de alto rendimiento, generadores de números aleatorios y vectores pequeños.
|
GPL-3.0, LGPL-3.0, Custom
|
cmake
|
|
Boost.uBLAS
|
Una biblioteca de clases plantilla C++ que proporciona funcionalidad BLAS nivel 1, 2, 3 para matrices densas, empaquetadas y dispersas. Utiliza plantillas de expresión.
|
BSL-1.0
|
|
|
C++ Matrix
|
Biblioteca de matemáticas matriciales de alto rendimiento y precisa (ej. casos límite) con operadores aritméticos de plantillas de expresión
|
BSD-3-Clause
|
cmake, make
|
|
DecompLib
|
Una biblioteca C++11 para descomponer un vector en un conjunto de vectores base ponderados definidos positivos.
|
MIT
|
header-only
|
|
Dlib - herramientas de álgebra lineal
|
|
|
|
|
Eigen
|
Una biblioteca de plantillas C++ para álgebra lineal: matrices, vectores, solucionadores numéricos y algoritmos relacionados.
|
MPL2
|
cmake, conan
|
|
ETL
|
|
|
|
|
IT++
|
|
|
|
|
Matrix
|
Biblioteca de Computación Científica fácil de usar en/para C++ disponible para Linux y Windows.
|
MIT
|
cmake
|
|
NumCpp
|
Una biblioteca de plantillas C++ que implementa NumPy de Python
|
MIT
|
header-only; cmake, vcpkg, conan
|
|
PETSc
|
Un conjunto de estructuras de datos y rutinas para la solución paralela de aplicaciones científicas modeladas por ecuaciones diferenciales parciales. Soporta MPI, y GPUs mediante CUDA o OpenCL, así como híbrido MPI-GPU.
|
|
|
|
Spectra
|
Sp
arse
E
igenvalue
C
omputation
T
oolkit as a
R
edesigned
A
RPACK es una biblioteca C++ de código abierto para problemas de valores propios a gran escala, construida sobre la biblioteca de álgebra lineal
Eigen
(también de código abierto y header-only). (
Src
)
|
MPL-2.0
|
header-only; cmake, vcpkg
|
|
Tense
|
Una biblioteca rápida de matrices y tensores con plantillas de expresión C++17
|
BSD-3-Clause
|
header-only; cmake
|
|
xtensor
|
Una biblioteca C++ destinada al análisis numérico con expresiones de arrays multidimensionales.
|
BSD
|
|
|
Biblioteca
|
Descripción
|
Licencia
|
Configuración
|
|
Boost.CallableTraits
|
Una biblioteca C++11/17 para la inspección y manipulación en tiempo de compilación de todos los tipos 'callable'. Sucesora de Boost.FunctionTypes.
|
BSL-1.0
|
header-only
|
|
Boost.Hana
|
Una nueva biblioteca de metaprogramación para tipos y valores
|
BSL-1.0
|
|
|
Boost.Metaparse
|
Una biblioteca de análisis sintáctico en tiempo de compilación, que produce tipos, valores y metafunciones a partir de cadenas en tiempo de compilación
|
BSL-1.0
|
|
|
Boost.Mp11
|
Una biblioteca de metaprogramación C++11 para la manipulación en tiempo de compilación de estructuras de datos que contienen tipos.
|
BSL-1.0
|
header-only
|
|
Boost.MPL
|
Una biblioteca original de metaprogramación, orientada a C++03, lenta
|
BSL-1.0
|
|
|
Boost.PFR
|
Una biblioteca C++14 para reflexión básica (sin macros): visita de miembros de un tipo definido por el usuario por índice, streaming de E/S.
|
BSL-1.0
|
header-only
|
|
Boost.Proto
|
Una biblioteca para construir EDSLs respaldados por expression templates
|
BSL-1.0
|
|
|
Brigand
|
Utiliza metafunciones eager, optimizado para el mejor rendimiento
|
|
|
|
CoMeta
|
Una biblioteca ligera de metaprogramación C++14
|
|
header-only
|
|
Meta
|
Utiliza metafunciones eager, punto intermedio entre metal y brigand respecto al rendimiento
|
|
|
|
Metal
|
Utiliza metafunciones eager, 100% compatible con SFINAE
|
|
|
|
refl-cpp
|
Una biblioteca moderna de reflexión en tiempo de compilación para C++ con soporte para sobrecargas, plantillas, atributos y proxies
|
|
|
|
Refureku
|
Una biblioteca C++17 de reflexión en tiempo de ejecución y generación de código
|
MIT
|
cmake
|
|
visit_struct
|
Una biblioteca de reflexión miniatura, que proporciona visitantes de estructuras para C++11/14. Autocontenida, 200-400 líneas de código dependiendo de cómo se cuente.
|
|
|