A list of open source C++ libraries

来源:互联网 发布:窗帘品牌 知乎 编辑:程序博客网 时间:2024/05/16 12:34

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.

Generic

  • Boost -  large collection of generic libraries
  • Navajo -  light and powerful http server for web application development
  • BDE -  The BDE Development Environment from Bloomberg L.P.
  • Dlib -  networking, threads, graphical interfaces, data structures, linear algebra, machine learning, XML and text parsing, numerical optimization, Bayesian nets, and numerous other tasks
  • JUCE -  An extensive, mature, cross-platform C++ toolkit
  • Loki -  design patterns
  • Reason -  xml, xpath, regex, threads, sockets, http, sql, date-time, streams, encoding and decoding, filesystem, compression
  • Yomm11 -  Open multi-methods for C++11
  • 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.
  • OnPosix -  C++ library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms.
  • Ultimate++ -  Cross-platform rapid application development framework

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

Graphic user interface

  • FLTK
  • nana
  • WxWidgets[src][doc]
  • OWLNext - Modern update to OWL for writing GUI applications in standard C++ on Windows
GTK+
  • glibmm
  • gtkmm
  • goocanvasmm
  • libglademm
  • libgnomecanvasmm
  • webkitgtk
  • flowcanvas
  • evince
Qt
  • Qt[src][doc]
  • qwtplot3d
  • qwt5
  • libdbusmenu-qt

General Multimedia

  • SFML (Simple and Fast Multimedia Library)
  • SDL (Simple DirectMedia Layer)
  • Cinder

Graphics

  • cairomm
  • nux
  • pangomm
  • gegl
  • stb
Plotting
  • plotutils
Formats
  • libraw
  • openexr
  • qimageblitz
  • imagemagick
  • djvulibre
  • poppler
  • SVG++

Audio

  • soundtouch
Fingerprinting
  • chromaprint
  • libofa
  • libmusicbrainz
Formats
  • audiofile
  • flac
Tagging
  • id3lib
  • taglib
CD
  • libkcompactdisc

Video

  • crystalhd
  • mjpegtools
  • libmatroska
  • libVLC
  • gstreamermm

3D Graphics

  • Ogre3D
  • OpenGL
  • GLEW OpenGL function loading
  • GLFW OpenGL window manager
  • GLM Header only C++ mathematics library for rendering
  • assimp 3D model loading
  • VTK
  • Magnum C++11 and OpenGL/GLES/WebGL graphics engine
  • Irrlicht
  • Horde3D


Game Engine Architecture

  • EntityX
  • Anax


Internationalization

  • IBM ICU
  • gettext

Math

  • GNU MP bignum C++ interface
  • Boost.Multiprecision
  • Boost.Math.Special Functions and Statistical Distributions
  • Boost.Random
Linear algebra
  • Boost.uBLAS
  • Eigen
  • Armadillo
  • Blitz++
  • IT++
  • Dlib - linear algebra tools
Graph theory
  • Boost.Graph
  • LEMON
  • alglib
  • OGDF - Open Graph Drawing Framework
Class Library for Numbers
  • cln
Machine Learning
  • liblinear
  • Dlib - machine learning tools
  • MLPACK - machine learning package
  • Shogun - large scale machine learning toolbox
Computational geometry
  • CGAL - Computational geometry algorithms library
  • Wykobi - Computational geometry library


Concurrency

  • Intel TBB
  • OpenMP
  • Thrust STL-like algorithms and data-structures for CUDA
  • ViennaCL Linear algebra and algorithms with OpenMP, CUDA, and OpenCL backends
  • VexCL C++ expression templates library for OpenCL and CUDA
  • Boost.Compute (unofficial) STL-like algorithms and data-structures for OpenCL
  • Boost.Interprocess
  • Boost.Thread
  • Boost.Atomic
  • Boost.Lockfree
  • Boost.MPI
  • Boost.Context
  • libopenmpi
  • libsimdpp
  • HPX A general purpose C++ runtime system for parallel and distributed applications of any scale

Containers

  • Boost.Any
  • Boost.Array
  • Boost.Bimap
  • Boost.Container
  • Boost.Fusion
  • Boost.Heap
  • Boost.Pointer Container
  • Boost.Tuple
  • Boost.Variant
  • cpp-btree -  btree_map, btree_set, btree_multimap, btree_multiset.

Serialization

  • Boost.Serialization
  • libs11n
  • sweet_persist
  • protobuf
  • C++ XML objects
  • yaml-cpp
  • YAS (Yet Another Serialization)
  • cereal (C++11 serialization)

Testing

  • Boost.Test
  • cppunit
  • Google Test
  • Catch
  • jest - A sane and minimal C++14 unit test framework

Benchmarking

  • Celero

XML

  • libxml++
  • pugixml
  • tinyxml
  • Xerces

JSON

  • jsonme--
  • ThorsSerializer
  • JsonBox
  • jsoncpp
  • zoolib
  • JOST
  • CAJUN
  • libjson
  • nosjob
  • rapidjson
  • jsoncons -  jsoncons is a C++ library for the construction of tree structured json values. It also supports an event-based streaming API.
  • JSON++
  • qjson
  • json-cpp
  • jansson -  Jansson is C library for encoding, decoding and manipulating JSON data.
  • json11 -  json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.
  • JSON Voorhees - Killer JSON for C++
  • jeayeson - A very sane (header only) C++14 JSON library

Web

  • libmusicbrainz5
  • liblastfm
  • libkcddb
  • Chromium Embedded
  • Wt[src][doc]

GPS

  • gpsd

Databases

  • QxOrm - C++ Qt Object-Relational Mapping (ORM)
  • mysql++
  • libpqxx
  • brig
  • SOCI
  • DTL
  • sqlpp11
  • ODB - C++ Object-Relational Mapping (ORM)
  • QUINCE: QUeries IN C++ Expressions (ORM+EDSL)

Cryptography

  • Botan
  • gnutls
  • openssl
  • crypto++

File metadata

  • libkexiv2
  • exiv2
  • exempi
  • rarian

Text

Parse
  • PEGTL -  Parsing Expression Grammar Template Library
Search
  • clucene
  • xapian

Terminal

  • cwidget

Configuration

  • gconfmm
  • libconfig
  • Boost.Program_options

Embedded languages bindings

  • ChaiScript
  • ExprTk
  • lua
  • mozjs
  • muparser
  • PythonQt

Embedded/realtime

  • QP/C++ -  RTOS kernel, dual GPL
  • FreeRTOS C++ Handler -  handler, looper, state machine, CLI, portable

PDF

  • HARU
  • PoDoFo
  • JagPDF
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 社保卡忘记密码怎么办 斗鱼忘记邮箱怎么办 手机看斗鱼怎么办办卡 微博昵称受限怎么办 被新浪屏蔽了怎么办 微博qq忘记密码怎么办 三星盖乐世忘记密码怎么办 三盖乐世4忘记密码怎么办 密码锁钥匙丢了怎么办 商标是tm标怎么办 环保合格证掉了怎么办 车子合格证丢了怎么办 大牙附近肿了怎么办 办好营业执照后怎么办商标 商标十年到期了怎么办 公司注册了商标怎么办 2018年属兔不适合结婚怎么办 交通事故对方没钱赔怎么办 滴滴快车出车祸怎么办 交警法院扣车怎么办 肇事逃逸没钱赔怎么办 撞死人无力赔偿怎么办 宝贝咳嗽很厉害怎么办 开车有人别车怎么办 判刑罚金交不起怎么办 罚金太多交不起怎么办 判决书上的罚金怎么办 刑事罚款不交怎么办 缎面的鞋脏了怎么办 夏天脸上长粉刺怎么办 鬃狮不吃东西怎么办 买二手车的车牌怎么办 榴莲打开了肉没熟怎么办 gmat的prep做完怎么办 电脑没ip地址怎么办 电脑ip地址缺失怎么办 cos还原不了人物怎么办 执行局抓人十五天不放人怎么办 笔记本电脑键盘按键错乱怎么办 靠墙倒立上不去怎么办 医院多收钱了怎么办