Table of Contents
C++ open source libraries
https://en.cppreference.com/w/cpp/links/libs
A list of open source C++ libraries:
The objective of this page is to build a comprehensive list of open source C++ libraries, so that when one needs an implementation of particular functionality, one needn't to waste time searching on web (DuckDuckGo, Google, Bing etc.).
If you know a library that might be useful to others, please add a link to it here. There are no restrictions on what can be included except that the source of the library must be readily available to download.
The page is provided 'as is' - with the hope of being useful, but without any warranties. Outdated, misleading or wrong links might appear here. If you've noticed one of these, it would be great if you fixed the error.
Libraries:
Package managers
Package manager | Description |
---|---|
build2 | An open source (MIT), cross-platform build toolchain that aims to approximate Rust Cargo's convenience for developing and packaging C/C++ projects while providing more depth and flexibility, especially in the build system. |
cget | Cmake package retrieval. This can be used to download and install cmake packages. |
cmodule | Non-intrusive CMake dependency management. |
conan | Decentralized, open-source (MIT), C/C++ package manager. |
CPM.cmake | A CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper around CMake's FetchContent module that adds version control, caching, a simple API and more. |
hunter | A CMake driven cross-platform package manager for C/C++ projects. |
spack | A package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. It isn’t tied to a particular language. |
teaport | A cocoapods inspired dependency manager. |
vcpkg | A C++ package manager for Windows, Linux, and macOS. |
Libraries
Audio
; CD
; Fingerprinting
; Formats
; Tagging
Benchmarking
Communication
}
Concurrency
Configuration
; Command Line
; CSS
; HOCON
; JSON
; TOML
; XML
; YAML
Containers
in which both
and
can be used as a key. | BSL-1.0 }}
,
,
,
,
,
,
,
. | BSL-1.0 }}
,
,
and
), along with transformed presentation of their underlying data, a.k.a views.“ | BSL-1.0 }}
(a fixed size collection of elements) | BSL-1.0 }}
(a safe, generic, stack-based discriminated
container) | BSL-1.0 }}
,
,
,
. (Src) | Apache-2.0 | CMake }}
support. | BSL-1.0 | CMake }}
perfect-hashing-based frozen sets and maps | Apache-2.0 }}
containers in high-modification scenarios while maintaining valid pointers to non-erased elements regardless of insertion and erasure. C++98/11/14/etc-compatible. (Src) | zlib license | conan build2 }}
implementation which sacrifices range-splicing for cache-friendliness, yielding faster insertion, erasure and iteration. C++98/11/14/etc-compatible. (Src) | zlib license }}
container adaptor with better performance than
and
in a queue context. C++98/11/14/etc-compatible. (Src) | zlib license }}
container adaptor with better performance than
and
in a stack context. C++98/11/14/etc-compatible. (Src) | zlib license }}
, a.k.a. circular buffer view. C++98- compatible. | BSL-1.0 | CMake }}
/
compatible), never-empty
targetting C++11. Fast, prevents many undesirable implicit conversions. | BSL-1.0 | CMake }}
Cryptography
Databases
Embedded languages bindings
Embedded/Realtime
File metadata
Financial Calculations
Game Engine Architecture
General Multimedia
Generic
GPS
Graphic user interface
; CopperSpice
; GTK+
; Qt
; U++
Graphics
Graphics (3D)
Images
; Formats
; Plotting
Image Processing
Internationalization
Logging
Error handling
Math
; Automata theory
; Class Library for Numbers
; Computational geometry
; Graph theory
; Linear algebra
Main_Page#Documentation | A C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. | MPL2 | CMake, Conan}}
; Machine Learning
; Numeral Calculations
; Optimization
Metaprogramming
Physics and Simulations
Serialization
; Binary serialization
Sorting
System
Terminal
Testing
See also
Text
; Coding
; Diff/Patch
; Format
family. | Victor Zverovich Licence | CMake, Conan}}
; Parse
; Search
; Template Engine