• C++ standard library, including STL containers, algorithms and functions
  • C++ general framework and library
  • Artificial intelligence (ai)
  • Asynchronous event loop
  • Audio, sound, music, digital music library
  • Bioinformatics, genomics and biotechnology
  • Compression and archive libraries
  • Concurrent execution and multithreading
  • The container
  • cryptography
  • Database, SQL server, ODBC driver and tools
  • Debug libraries, memory and resource leak detection, unit testing
  • The game engine
  • Graphical user interface
  • graphics
  • The image processing
  • internationalization
  • Jason
  • The log
  • Machine learning
  • mathematics
  • multimedia
  • network
  • Dynamics simulation engine
  • robotics
  • Scientific computing
  • The script
  • serialization
  • video
  • The virtual machine
  • Web Application Framework
  • XML
  • A number of hybrid
  • The compiler
  • C/C++ debugger list
  • Integrated Development Environment (IDE)
  • Build system
  • Static code analysis

C++ resource framework quick reference table

C++ standard library, including STL containers, algorithms and functions

C++ Standard Library: is a collection of classes and functions written in the core language and part of the C++ISO standard itself.
Standard Template Library: Standard template library
C POSIX library: C standard library specification for POSIX systems
ISO C++ Standards CommitteeC++ standards committee

C++ general framework and library

Apache C++ Standard Library: is a collection of algorithms, containers, iterators, and other basic components
ASLAdobe source code library provides a peer-reviewed and portable C++ source code library.
Boost: a large collection of common C++ libraries.
BDE: From bloomberg LABS development environment.
Cinder: Open source development community providing professional quality creative coding.
Cxxomfort: a lightweight, header only library that ports some of the new features of C++ 11 to C++03.
Dlib: a universal cross-platform C++ library designed using programming by contract and modern C++ technologies.
EASTL: EA-STL common part
ffead-cpp: Enterprise application development framework
Folly: open source C++ library developed and used by Facebook
JUCE: an all-inclusive C++ class library for developing cross-platform software
libPhenom: An event framework for building high-performance and highly scalable systems.
LibSourcey: C++11 evented IO for real-time video streaming and high performance web applications
LibU: multi-platform tool library written in C language
Loki: C++ library design, including commonDesign patternsAnd idiom implementation.
MiLi: a small C++ library containing only header files
openFrameworks: develop C++ toolkit for creative coding.
Qt: cross-platform application and user interface frameworks
Reason: a cross-platform framework that makes it easier for developers to use Java,.net and Python, while meeting their needs for C++ performance and benefits.
ROOT: A series of object-oriented frameworks with all the capabilities to process and analyze large amounts of data very efficiently for use at EURATOM.
STLport: is a representative version of STL
STXXL: standard template library for additional large data sets.
Ultimate++C++ cross-platform rapid application development framework
Windows Template Library: C++ library for developing Windows applications and UI components
Yomm11: C++11 open multi-methods

Artificial intelligence (ai)

btsk: Game behavior tree launcher tool
Evolving Objects: template-based, ANSI C++ evolutionary computing library that helps you write your own random optimization algorithms very quickly.
NeuC++11 framework, a programming language set, a multipurpose software system for creating artificial intelligence applications.

Asynchronous event loop

Boost.Asio: cross-platform C++ library for networking and low-level I/O programming.
libev: Full-featured, high-performance time loop that slightly emulates Libevent, but no longer has the same limitations as Libevent, and fixes some of its bugs.
libevent: Event notification library
libuv: Cross-platform asynchronous I/O.

Audio, sound, music, digital music library

FMOD: easy to use cross-platform audio engine and audio content game authoring tool.
Maximilian: C++ audio and music digital signal processing library
OpenAL: Open Source Audio library – cross-platform audio API
Opus: a fully open, royalty-free, highly versatile audio codec
Speex: Free codec, deprecated by Opus
Tonic: C++ easy to use and efficient audio synthesis
Vorbis: Ogg Vorbis is a completely open, non-proprietary, royalty-free, general-purpose compressed audio format.

Bioinformatics, genomics and biotechnology

libsequence: C++ library for representing and analyzing population genetic data.
SeqAn: Focuses on algorithms and data structures for biological data sequence analysis.
Vcflib: C++ library for parsing and processing VCF files
Wham: Apply the association test directly to the genetic structural variation of BAM files.

Compression and archive libraries

bzip2: a completely free, free patent and high quality data compression
doboz: a compression library that can be quickly decompressed
PhysicsFS: a library that provides abstract access to various archives, primarily used in video games, partly inspired by the file subsystem of Quake3.
KArchive: library for creating, reading, and manipulating file files such as ZIP and tar, which provides transparent compression and decompression of data through a series of subclasses of QIODevice using the Gzip format.
LZ4: very fast compression algorithm
LZHAM: lossless compression database, the compression ratio is close to LZMA, but the decompression speed is much faster.
LZMA: 7z format Default and universal compression method.
LZMAT: its fast real-time lossless data compression library
miniz: single C source file, compressed/expanded compression library, zlib-compatible API, ZIP archive read and write, PNG write mode.
Minizip: Zlib latest bug fix, support PKWARE disk span, AES encryption and IO buffering.
Snappy: Fast compression and decompression
ZLib: very compact data stream compression library
ZZIPlib: Provides the read permission for the ZIP archive

Concurrent execution and multithreading

Boost.Compute: C++GPU computing library for OpenCL
Bolt: C++ template library optimized for GPU
C++React: reactive programming library for C++11
Intel TBB: Intel thread building block
Libclsph: GPU-accelerated SPH fluid simulation library based on OpenCL
OpenCL: an open standard for heterogeneous systems with parallel programming
OpenMP: OpenMP API
Thrust: parallel algorithm library similar to the C++ standard template library
HPX: universal C++ runtime system for parallel and distributed applications of any size
VexCL: C++ vector expression template library for OpenCL/CUDA.

The container

C++ B-tree: Based on B tree data structure, to achieve the command memory container template library
Hashmaps: C++ open addressing hash table algorithm implementation

cryptography

Bcrypt: a cross-platform file encryption tool that can be ported to all supported operating systems and processors.
BeeCrypt:
Botan: C++ encryption library
Crypto++: a free C++ library for encryption schemes
GnuPG: Full implementation of the OpenPGP standard
GnuTLS: secure communication library that implements SSL, TLS and DTLS protocols
Libgcrypt
libmcrypt
LibreSSL: a free SSL/TLS protocol, a branch of 2014 OpenSSL
LibTomCrypt: a very comprehensive, modular, portable encryption tool
libsodium: Naci-based encryption library, opinionated, easy to use
NettleThe underlying cryptographic library
OpenSSL: a powerful, commercial, full-featured, open source encryption library.
Tiny AES128 in C: a compact, portable C implementation of AES128ESB encryption algorithm

Database, SQL server, ODBC driver and tools

hiberlite: C++ object relational mapping for Sqlite3
Hiredis: a very simple C client library for Redis databases
LevelDB: fast key value repository
LMDB: An embedded key-value store that matches the four basic elements of a database
MySQL++: A C++ wrapper that wraps MySql’s C API
RocksDB: Fast storage of embedded key values from Facebook
SQLite: a fully embedded, fully functional relational database, only a few hundred KB, can be included correctly in your project.

Debug libraries, memory and resource leak detection, unit testing

Boost.Test: Boost test library
Catch: a stylish, C++ native framework containing only header files for unit testing, test-driven development, and behavior-driven development.
CppUnit: C++ testing framework ported from JUnit
CTest: CMake test driver
googletest: Google C++ testing framework
ig-debugheap: a multiplatform debug heap for tracking memory errors
libtap: Write tests in C language
MemTrack- used for C++ to track memory allocation
microprofile- Cross-platform network attempt analyzer
minUnit: a mini-unit testing framework written in C, using only two macros
Remotery: a single C file parser for Web views
UnitTest++: a lightweight C++ unit testing framework

The game engine

Cocos2d-x: a cross-platform framework for building 2D games, interactive books, presentations, and other graphics applications.
Grit: Community project to build a free game engine to enable open world 3D games.
Irrlicht: open source high performance real-time #D engine written in C++
Polycode: C++ implemented open source framework for building games (bundled with Lua).

Graphical user interface

CEGUI: very flexible cross-platform GUI library
FLTK: fast, lightweight cross-platform C++GUI toolkit.
GTK+: a cross-platform toolkit for creating graphical user interfaces
gtkmm: the official C++ interface for the popular GUI library GTK+.
imgui: Immediate mode graphical user interface with minimal dependencies
libRocket :libRocketIs a C++ HTML/CSS game interface middleware
MyGUI: fast, flexible, simple GUI
Ncurses: Terminal user interface
QCustomPlot: Qt drawing control with no more dependencies
Qwt: Qt controls for user and technical applications
QwtPlot3D: a feature-rich C++ programming library based on Qt/OpenGL that essentially provides a bunch of 3D controls
OtterUI :OtterUIIs a user interface development solution for embedded systems and interactive entertainment software
PDCursesA common graphical function library containing source code and precompiled libraries
wxWidgetsThe C++ library allows developers to create apps for widows, Mac OS X, Linux and other platforms using a single code base

graphics

bgfx: cross-platform rendering library
Cairo: A 2D graphics library that supports multiple output devices
Horde3DA small 3D rendering and animation engine
magnumC++11 and OpenGL 2D/3D graphics engine
Ogre 3DA scene oriented, real-time, flexible 3D rendering engine written in C++ (not a game engine)
OpenSceneGraphOpen source 3D graphics toolkit with high performance
Panda3DFramework for 3D rendering and game development, written in Python and C++.
SkiaA complete 2D graphics library for drawing text, graphics and images
urho3dCross-platform rendering and game engine.

The image processing

Boost.GIL: Universal image library
CImg: small open source C++ toolkit for image processing
CxImage: image processing and conversion library for loading, saving, display and conversion, can process image formats including BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K.
FreeImage: Open source library that supports common image formats and other formats required by modern multimedia applications.
GDCM: Grassroots DICOM library
ITK: cross-platform open source image analysis system
Magick++: ImageMagicK program C++ interface
MagickWnd: ImageMagick program C++ interface
OpenCV: Open source computer vision library
tesseract-ocr: the OCR engine
VIGRAUniversal C++ computer vision library for image analysis
VTK: Open source free software system for 3D computer graphics, image processing and visualization.

internationalization

gettext: the GNU ` gettext ‘
IBM ICU: C, C++, and Java libraries that provide Unicode and globalization support
libiconv: encoding conversion library for different character encodings

Jason

frozen: Jason parsing generator for C/C++
Jansson: C language library for encoding and decoding Jason data
jbsonC++14 library for building and iterating BSON data and Json documents
JeayeSON: a very robust C++ JSON library, containing only header files
JSON++: C++ JSON parser
json-parser: JSON parser written in portable ANSI C with very little memory footprint
json11: a mini-C ++11 JSON library
jute: very simple C++ JSON parser
ibjsonJSON parsing and printing library in C, easy to integrate with any model.
libjson: lightweight JSON library
PicoJSONJSON parses serialization in C++, containing only header files
qt-json: simple class for mutual parsing between JSON data and QVariant hierarchies
QJson: A Qt-based library that maps JSON data to QVariant objects
RapidJSON: fast JSON parsing generator for C++, including SAX and DOM style apis
YAJL: fast stream JSON parsing library in C

The log

Boost.Log: The design is very modular and extensible
easyloggingpp: C++ logging library, containing a single header file.
Log4cpp: a series of C++ libraries for adding logs to files, system logs, IDSA and other places.
templog: a lightweight C++ library to add logging to your C++ applications

Machine learning

Caffe: fast neural network framework
CCV: C language as the core of the modern computer vision library
mlpack: an extensible C++ machine learning library
OpenCV: Open source computer vision library
Recommender: C language library that uses collaborative filtering to make product recommendations/suggestions.
SHOGUN: Shogun machine learning tool
sofia-ml: Suite of fast incremental algorithms for machine learning

mathematics

Armadillo: high quality C++ linear algebra library, speed and ease of use to achieve a good balance. The syntax is very similar to MatlAB
blaze: a high-performance C++ math library for dense and sparse algorithms.
ceres-solver: C++ library from Google for modeling and solving large complex nonlinear least square problems.
CGal: a collection of efficient and reliable set algorithms
cml: a free C++ math library for games and graphics
EigenAdvanced C++ template header library, including linear algebra, matrices, vector manipulation, numerical solution and other related algorithms.
GMTLThe Mathematical Graphics Template library is a broad set of tools for implementing basic graphics.
GMP: C/C++ library for high precision computation, processing signed integers, rational numbers andFloating point Numbers.

multimedia

GStreamer: Builds a library for media processing component graphics
LIVE555 Streaming Media: multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP)
libVLCLibVLC (VLC SDK) media framework
QtAv: Multimedia player framework based on Qt and FFmpeg can help you write a player easily
SDL: Simple direct control media layer
SFML: fast, simple multimedia library

network

ACEC++ object-oriented networking becomes toolkit
Boost.Asio: cross-platform C++ library for networking and low-level I/O programming
Casablanca: c + + REST SDK
cpp-netlib: open source library collection for advanced network programming
Dyad.c: C asynchronous network
libcurl: multiprotocol file transfer library
Mongoose: very lightweight web server
Muduo: C++ non-blocking network library for Linux multi-threaded servers
net_skeleton: TCP client/server library for C/C++
nope.c: C – based ultralight software platform for scalable server – side and network applications. For C programmers, consider Node.js
Onion:C language HTTP server library, which is designed to be lightweight and easy to use.
POCO: C++ class library for building web and internet-based applications that can run on desktop, server, mobile and embedded systems.
RakNet: cross-platform open source C++ web engine for game developers.
Tuf o: asynchronous Web framework for C++ build on Qt.
WebSocket++: websocket client/server library based on C++/Boost Aiso
ZeroMQ: high-speed, modular asynchronous communication library

Dynamics simulation engine

Box2D: 2D game physics engine.
Bullet: 3D game physics engine.
Chipmunk: fast, lightweight 2D game physics library
LiquidFun: 2D game physics engine
ODE: Open Dynamics engine – Open source, high performance library that simulates rigid body dynamics.
ofxBox2dBox2D open source framework wrapper.
Simbody: high-performance C++ multibody dynamics/physics library that simulates joint biomechanics and mechanical systems such as vehicles, robots and human bones.

robotics

MOOS-IvP: a set of open source C++ modules that provide autonomy for robotic platforms, especially autonomous ocean vehicles.
MRPT: Mobile robot programming kit
PCL: Point Cloud Library is an independent, large-scale open project for 2D/3D images and point cloud processing.
Robotics Library (RL): a stand-alone C++ library, including robot dynamics, motion planning and control.
RobWork: a collection of C++ libraries for the simulation and control of robotic systems.
ROS: Robot operating system, which provides libraries and tools to help software developers create robot applications.

Scientific computing

FFTW: C language library for one-dimensional or multidimensional DFT calculation.
GSL: GNU Science Library.

The script

ChaiScript: an easy-to-use embedded scripting language for C++.
Lua: a small fast scripting engine for configuration files and basic application scripts.
luacxx: C++ 11 API for creating Lua bindings
SWIG: a wrapper/interface generator that links your C++ code to JavaScript, Perl, PHP, Python, Tcl, and Ruby
V7: Embedded JavaScript engine.
V8: Google’s fast JavaScript engine that can be embedded in any C++ application.

serialization

Cap ‘n Proto: Fast data interchange format and RPC system.
cereal: C++11 serialization library
FlatBuffers: memory efficient serialization library
MessagePack: efficient binary serialization library for C/C++, such as JSON
protobuf: Protocol buffer, Google’s data interchange format.
protobuf-c: C language protocol buffer implementation
SimpleBinaryEncodingEncoding and decoding of application information in binary format for low-latency applications.
Thrift: efficient cross-language IPC/RPC for C++, Java, Python, PHP, C# and many other languages, originally developed by Twitter.

video

libvpx: VP8/VP9 encoding decodes SDK
FFmpeg: a complete, cross-platform solution for recording, converting video and audio streams.
libde265: Open h.265 video codec implementation.
OpenH264: Open source H.364 codec.
Theora: a free open source video compression format.

The virtual machine

CarpVMInteresting VM in C, let’s take a look at this.
MicroPython: aims to realize the realization of Python3. X on MCU
TinyVM: small, fast, lightweight virtual machine written in pure ANSI C.

Web Application Framework

Civetweb: Provides an easy-to-use, powerful, C/C++ embedded Web server with optional CGI, SSL, and Lua support.
CppCMS: free high performance Web development framework (not CMS).
Crow: a C++ mini-web framework (inspired by Python Flask)
Kore: an ultra-fast and flexible Web server/framework developed in C for Web applications.
libOnion: a lightweight library that helps you create web servers using the C programming language.
QDjango: a Qt library-based web framework written in C++ that attempts to emulate the Django API, hence its name.
Wt: C++ library for developing Web applications.

XML

XML is garbage, XML parsing is a pain in the ass, and it’s a disaster for computers. There is no reason for this awful thing to exist. -Linus Torvalds
Expat: XML parsing library written in C language
Libxml2XML C parser and toolkit for Gnome
libxml++: C++ XML parser
PugiXMLXpath-enabled lightweight, simple and fast XML parser for C++.
RapidXml: Attempts to create the fastest XML parser possible while maintaining ease of use, portability, and reasonable W3C compatibility.
TinyXML: a simple, small C++XML parser that can be easily integrated into other projects.
TinyXML2: a simple and fast C++CML parser that can be easily integrated into other projects.
TinyXML++: a new interface to TinyXML that uses many of the many advantages of C++, templates, exceptions and better exception handling.
Xerces-C++: XML validation parser written in a portable subset of C++

A number of hybrid

C++ Format: C++ small, secure and fast formatting library
casacore: a series of C++ core libraries derived from aips++
cxx-prettyprint: print library for C++ containers
DynaPDF: easy to use PDF generation library
gcc-poison: a simple header file that helps developers disable unsafe C/C++ functions in their applications.
googlemock: a library to write and use C++ simulation classes
HTTP Parser: HTTP request/response parser for C
libcpuid: small C library for feature extraction of x86 CPU detection boxes
libevil: License manager
libusb: Universal USB library that allows mobile access to USB devices
PCRE: regular expression C library, inspired by the regular expression functionality in Perl.
Remote Call Framework: C++ interprocess communication framework.
Scintilla: open source code editing control
Serial Communication Library: C++ language written cross-platform, serial library.
SDS: C’s simple dynamic string library
SLDR: Super light DNS parser
SLRE: an ultra-light regular expression library
Stage: Mobile robot simulator
VarTypes: C++/Qt4 features rich, object-oriented framework for managing variables.
ZBar: ‘Barcode Scanner’ library that can scan barcodes in photos, pictures and video streams and return results.
CppVerbalExpressions: easy-to-use C++ regular expressions
QtVerbalExpressions: Qt library based on C++ VerbalExpressions library
PHP-CPP: library to build PHP extensions using C++
Better String: another C string library, more feature-rich, but without buffer overflow issues, also includes a C++ wrapper.

The compiler

Clang: Developed by Apple
GCC: GNU compiler collection
Intel C++ Compiler: Developed by Intel
LLVM: a collection of modular and reusable compiler and toolchain technologies
Microsoft Visual C++: MSVC, developed by Microsoft
Open WatCom: Watcom, C, C++ and Fortran cross-compilers and tools
TCC: lightweight C compiler
codepad: online compiler/interpreter, a simple collaboration tool
CodeTwist: a simple online compiler/interpreter that allows you to paste C,C++ or Java code, execute it online and view the results
coliru: online compiler /shell, support a variety of C++ compilers
Compiler Explorer: interactive compiler that can assemble output
CompileOnlineCompile and execute C++ programs online on Linux
Ideone: an online compiler and debugging tool that allows you to compile source code and execute it online, supporting over 60 programming languages.

C/C++ debugger list

Comparison of debuggers: list of debuggers from Wikipedia
GDB: GNU debugger
Valgrind: Memory debugging, memory leak detection, performance analysis tools.

Integrated Development Environment (IDE)

AppCode: Build an integrated development environment for Objective-C,C,C++, Java and Java development on the JetBrains’ IntelliJ IDEA platform
CLionA cross-platform C/C++ integrated development environment from JetBrains
Code::Blocks: free C, C++, and Fortran integrated development environment
CodeLite: another cross-platform free C/C++ integrated development environment
Dev-C++: portable C/C++/C++11 integrated development environment
Eclipse CDT: a fully featured C and C++ integrated development environment based on the Eclipse platform
Geany: lightweight fast, cross-platform integrated development environment.
IBM VisualAge: Home Computer Integrated Development Environment from IBM.
Irony-mode: C/C++ micromode for Emacs driven by libclang
KDevelop: Free open source integrated development environment
Microsoft Visual Studio: Integrated Development Environment from Microsoft
NetBeans: Integrated development environment for Java development, but also supports other languages, especially PHP, C/C++, and HTML5.
Qt Creator: a cross-platform integrated development environment for C++, Javascript, and QML that is part of the Qt SDK.
rtags: C/C++ client server index for integration with Clang-based Emacs
Xcode: Developed by Apple
YouCompleteMe: a quick fuzzy search and code completion engine for Vim based on the code you type.

Build system

Bear: a tool for generating and compiling databases for the Clang tool
Biicode: simple file-based dependency manager.
CMake: Free across platformsOpen source softwareUsed to manage the process of building software using a independently compiled approach.
CPM: C++ package manager based on CMake and Git
FASTBuild: High-performance, open source build system that supports highly scalable compilation, buffering and network distribution.
Ninja: Small build systems that focus on speed
Scons: a software build tool configured using Python SCIPT
tundra: High-performance code build systems provide the best incremental build count even for very large software projects.
tup: file-based build system for background monitoring of changing files.

Static code analysis

Cppcheck: static C/C++ code analysis tool
include-what-you-use: a tool for code analysis using Clang, including #include in C and C++ files.
OCLint: static source code analysis tool for C, C++, and Objective-C to improve quality and reduce defects.
Clang Static AnalyzerSource code analysis tool for finding bugs in C, C++, and Objective-C programs
List of tools for static code analysis: List of static code analysis tools from Wikipedia