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
- HARU
- PoDoFo
- JagPDF
0 0
- A list of open source C++ libraries
- A list of open source C++ libraries
- A Performance Evaluation and Examination of Open-Source Erasure Coding Libraries For Storage
- IFC open source libraries 开源库
- List of free and open source SCADA software
- List of free and open source software packages
- List of KNX Open Source or free software
- List of Best Open Source Projects Written in VC++/MFC
- Open Source List
- Index of open source
- Useful open source libraries for IPhone Development
- Open Source PDF Libraries in C#
- How to select open source libraries
- Building Open Source libraries with Android NDK
- List of useful security libraries
- open source Flex project list
- Open Source Help Desk List
- open source Flex project list
- Linux rpm 命令参数使用详解[介绍和应用]
- HTML防止input回车提交表单
- x265的CMake编译参数设置
- 关于android 使用bitmap的OOM心得和解决方案
- 转 命令行下玩VC
- A list of open source C++ libraries
- #define变量
- android 和服务器的URLEncodedUtils乱码编码问题
- ubuntu 开启nfs服务
- wpf 之ComboBox的用法
- C语言之详解#ifdef等宏及妙用
- matlab 行和列
- NFS配置以实现开发板挂载虚拟机里的linux根文件系统
- 三月份总结-翻转课堂感悟