A list of open source C++ libraries

< cpp‎ | links

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, he doesn't need to waste time searching on Google.

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.


[edit] Generic

  • Boost -  large collection of generic libraries (Bost License)
  • BDE -  The BDE Development Environment from Bloomberg L.P. (Apache License)
  • Dlib -  networking, threads, graphical interfaces, data structures, linear algebra, machine learning, XML and text parsing, numerical optimization, Bayesian nets, and numerous other tasks (Bost License)
  • JUCE -  An extensive, mature, cross-platform C++ toolkit (GPL License)
  • Loki -  design patterns
  • Reason -  xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression (GPL License)
  • Yomm11 -  Open multi-methods for C++11 (Bost License)
  • Folly -  Facebook Open-source LibrarY. Library of C++11 components designed with practicality and efficiency in mind.
  • cxxomfort - Backports of C++ features (C++11 to C++03 and C++1y proposals to C++11/C++03).
  • libsourcey -  Cross-platform C++11 library for high speed networking and media encoding. HTTP, WebSockets, TURN, STUN, Symple and more...
  • Neu -  C++11 framework for AI, networking and distributed objects, simulation and modeling, languages and compiler construction, concurrency, and more.
  • Navajo -  light and powerful http server for web application development (LGPL License)
  • OnPosix -  C++ library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms.
  • Ultimate++ -  Cross-platform rapid application development framework

[edit] Communication

  • C++ RESTful framework -  C++ micro-framework designed to be embedded into a wide range of applications.
  • C++ REST SDK - asynchronous HTTP client and listener, asynchronous Stream, URI, JSON
  • cpp-netlib - cpp-netlib: The C++ Network Library
  • Boost.Asio - asynchronous and synchronous networking, timers, serial I/O
  • POCO -  networking: encryption, HTTP; Zip files
  • ACE -  asynchronous networking, event demultiplexing, messaging, CORBA
  • wvstreams
  • gsoap
  • Unicomm -  asynchronous networking, high-level TCP communication framework
  • restful_mapper - ORM for consuming RESTful JSON APIs in C++
  • zeromq -  fast message queue
  • curlpp -  C++ wrapper for CURL library
  • Apache Thrift -  The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
  • libashttp -  asynchronous HTTP client library

[edit] Graphic user interface


[edit] General Multimedia

[edit] Graphics


[edit] Audio


[edit] Video

[edit] 3D Graphics

[edit] Game Engine Architecture

[edit] Internationalization

[edit] Math

Linear algebra
Graph theory
Class Library for Numbers
Machine Learning
Computational geometry

[edit] Concurrency

[edit] Containers

[edit] Serialization

[edit] Testing

[edit] Benchmarking

[edit] XML

[edit] JSON

[edit] Web

[edit] GPS

[edit] Databases

[edit] Cryptography

[edit] File metadata

[edit] Text

  • PEGTL -  Parsing Expression Grammar Template Library

[edit] Terminal

[edit] Configuration

[edit] Embedded languages bindings

[edit] Embedded/realtime

[edit] PDF