A list of open source C++ libraries
The objective of this page is to build a comprehensible 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 it must be possible to download the source of the library.
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
- Loki - design patterns
- Reason - xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression
[edit] Communication
- boost.ASIO - asynchronous and synchronous networking, timers, serial I/O
- POCO - networking: zip, encryption, http
- ACE - asynchronous networking, event demultiplexing, messaging, CORBA
- wvstreams
- gsoap
[edit] Graphic user interface
[edit] FLTK
[edit] GTK+
glibmm gtkmm goocanvasmm libglademm libgnomecanvasmm webkitgtk flowcanvas evince
[edit] QT
Qt[src][doc]-- qwtplot3d-- qwt5-- libdbusmenu-qt
[edit] Graphics
- Plotting
- Formats
libraw openexr qimageblitz imagemagick djvulibre poppler
[edit] Audio
- Fingerprinting
chromaprint libofa libmusicbrainz
- Formats
- Tagging
- CD
[edit] Video
crystalhd mjpegtools libmatroska libVLC gstreamermm
[edit] 3D Graphics
[edit] Internationalization
[edit] Math
GNU MP bignum C++ interface -- boost.math.Special Functions and Statistical Distributions -- boost.Random
- Linear algebra
boost.uBLAS -- Eigen -- Armadillo -- Blitz++ -- IT++
- Graph theory
boost.Graph -- LEMON
- Class Library for Numbers
- Library for Large Linear Classification
[edit] Concurrency
Intel TBB-- OpenMP -- boost.interprocess -- boost.thread -- boost.MPI -- boost.context libopenmpi
[edit] Containers
boost.any-- boost.array-- boost.bimap-- boost.fusion-- boost.heap-- boost.ptr_container-- boost.tuple-- boost.variant
[edit] Serialization
boost.serialization-- libs11n-- sweet_persist-- protobuf C++ XML objects yaml-cpp
[edit] Testing
boost.test cppunit Google Test
[edit] XML
[edit] JSON
JSONKit-- jsonme---- ThorsSerializer-- JsonBox-- jsoncpp-- zoolib-- JOST-- CAJUN-- libjson-- nosjob-- rapidjson-- qjson
[edit] Web
libmusicbrainz5-- liblastfm-- libkcddb
[edit] GPS
[edit] Databases
[edit] Cryptography
[edit] File metadata
[edit] Text
- Search
[edit] Terminal
[edit] Configuration
gconfmm libconfig boost.program_options