The latest summary in 2021, recommended c/c++ open source frameworks and libraries. Continuously updated.
frame
Apache C++ Standard Library: is a collection of algorithms, containers, iterators and other basic components
ASL: Adobe Source Code Library provides a peer-reviewed and portable C++ source code library.
Boost: A large collection of general-purpose C++ libraries.
BDE: Development environment from Bloomberg Information Labs.
Cinder: An open source development community that provides professional-quality creative coding.
Bxxomfort: 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 contract programming and modern C++ technology.
EASTL: EA-STL public part
ffead-cpp: Enterprise application development framework
Folly: An open source C++ library developed and used by Facebook.
JUCE: A comprehensive C++ 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 network applications
LibU: A multi-platform tool library written in C language
Loki: The design of a C++ library, including implementation of common design patterns and idioms.
MiLi: A small header-only C++ library
openFrameworks: Develop C++ toolkit for creative coding.
Qt: Cross-platform application and user interface framework
Reason: A cross-platform framework that makes it easier for developers to use Java, .Net and Python, while also meeting their needs for the performance and advantages of C++.
ROOT: A set of object-oriented frameworks with all the functionality to process and analyze large amounts of data very efficiently, used by CERN.
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: Open multi-methods for C++11.
Asynchronous event loop
Boost.Asio: Cross-platform C++ library for network and low-level I/O programming.
libev: Full-featured, high-performance time loop, slightly modeled after libevent, but no longer has the same limitations as libevent, and some of its bugs have been fixed.
libevent: event notification library
libuv: Cross-platform asynchronous I/O.
libco: coroutine, WeChat’s underlying IO library that supports 800 million users online at the same time. Powerful
ntyco: A pure C version of the coroutine framework, the code is short and concise, suitable for embedded projects.
libgo: Golang-style concurrency framework, C++11 implementation coroutine library
network library
ACE: C++ Object-Oriented Networking Toolkit
Casablanca: C++ REST SDK
cpp-netlib: A collection of open source libraries for advanced network programming
Dyad.c: Asynchronous networking in C
libCurl: multi-protocol 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++
WAFer: Ultra-lightweight C-based software platform for scalable server-side and web applications. For C programmers, consider node.js
Onion: C language HTTP server library, designed to be lightweight and easy to use.
POCO: C++ class library for building network and Internet-based applications that can run on desktop, server, mobile and embedded systems.
RakNet: A cross-platform, open source C++ network engine for game developers.
Tufao: An asynchronous web framework built in C++ on top of Qt.
WebSocket++: websocket client/server library based on C++/Boost Aiso
ZeroMQ: High-speed, modular asynchronous communication library
TCP/IP protocol stack
f-stack: Tencent’s open source protocol stack, a high-performance user-mode protocol stack based on DPDK.
NtyTcp: Single-threaded protocol stack, based on netmap, DPDK, rawSocket implementation.
LWIP: A streamlined version of the TCP/IP protocol stack implementation for the RAM platform.
mTCP: A highly scalable user-space TCP/IP protocol stack for multi-core systems.
4.4BSD: * The nix protocol stack is derived from 4.4BSD.
WEB application framework
Nginx: A high-performance HTTP and reverse proxy web server that also provides IMAP/POP3/SMTP services.
Lighttpd: An open source web server software that is secure, fast, compliant with industry standards, highly adaptable and optimized for high-configuration environments.
Libmicrohttpd: A simple c library web server under GNU software. The API is simple and fast.
shttpd: Mongoose-based web server 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 a CMS).
Crow: A C++ micro web framework (inspired by Python Flask)
Kore: Ultra-fast and flexible web server/framework for web applications developed in C.
libOnion: A lightweight library that helps you create web servers using the C programming language.
QDjango: A web framework written in C++ and based on the Qt library, trying to emulate the Django API, hence the name.
Wt: C++ library for developing web applications.
Standard library, algorithms and functions
C++ Standard Library: It is a collection of classes and functions written in the core language and is part of the C++ ISO standard itself.
Standard Template Library: Standard Template Library, STL
C POSIX library: C standard library specification for POSIX systems
ISO C++ Standards Committee : C++ Standards Committee
audio library
FMOD: Easy-to-use cross-platform audio engine and audio content game creation tool.
Maximilian: C++ audio and music digital signal processing library
OpenAL: Open source audio library—cross-platform audio API
Opus: a completely open, royalty-free, highly versatile audio codec
Speex: Free codec, deprecated by Opus
Tonic: Easy-to-use and efficient audio synthesis in C++
Vorbis: Ogg Vorbis is a completely open, non-proprietary, royalty-free universal compressed audio format.
ecology
lisequence : A C++ library for representing and analyzing population genetics data.
SeqAn: Focuses on algorithms and data structures for sequence analysis of biological data.
Vcflib: C++ library for parsing and processing VCF files
Wham: Apply association testing directly to genetic structural variants in BAM files.
compression
bzip2 : A completely free, patent-free and high-quality data compression
doboz: compression library for fast decompression
PhysicsFS: A library that provides abstract access to various archives, mainly used in video games. The design was partly inspired by Quake3's file subsystem.
KArchive: A library for creating, reading, writing, and manipulating file archives (such as zip and tar), which provides transparent compression and decompression of data using the gzip format through a series of subclasses of QIODevice.
LZ4: Very fast compression algorithm
LZHAM: Lossless compression database, the compression ratio is close to LZMA, but the decompression speed is much faster.
LZMA: The default and common compression method for the 7z format.
LZMAT: and its fast real-time lossless data compression library
miniz: A single C source file, compression/expansion compression library, using zlib compatible API, ZIP archive reading and writing, PNG writing method.
Minizip: Zlib's latest bug fix, supports PKWARE disk spanning, AES encryption and IO buffering.
Snappy: fast compression and decompression
ZLib: Very compact data stream compression library
ZZIPlib: Provides read access to ZIP archives.
Concurrency
Boost.Compute: C++ GPU computing library for OpenCL
Bolt: A C++ template library optimized for GPUs
C++React: Reactive programming library for C++11
Intel TBB: Intel Threading Building Blocks
Libclsph: GPU-accelerated SPH fluid simulation library based on OpenCL
OpenCL: An open standard for parallel programming of heterogeneous systems
OpenMP: OpenMP API
Thrust: a parallel algorithm library similar to the C++ Standard Template Library
HPX: A universal C++ runtime system for parallel and distributed applications of any size
VexCL: C++ vector expression template library for OpenCL/CUDA.
cryptography
Bcrypt: A cross-platform file encryption tool, encrypted files are portable to all supported operating systems and processors.
BeeCrypt: A fast encryption graphics library with powerful functions and convenient interface.
Botan: C++ encryption library
Crypto++ : A free C++ library for encryption schemes
GnuPG: A complete implementation of the OpenPGP standard
GnuTLS: Secure communication library that implements SSL, TLS and DTLS protocols
Libgcrypt: GnuPG-based encryption graphics library.
Libmcrypt: Thread-safe, providing a unified API.
LibreSSL: Free SSL/TLS protocol, a fork of 2014 OpenSSL
LibTomCrypt: A very comprehensive, modular, and portable encryption tool
libsodium: NaCI-based encryption library, opinionated and easy to use
Nettle: the underlying encryption library
OpenSSL: A powerful, commercial, full-featured, open source encryption library.
Tiny AES128 in C: A small, portable implementation of the AES128ESB encryption algorithm implemented in C
database
hiberlite: C++ object-relational mapping for Sqlite3
hiredis : A very simple C client library for Redis database
LevelDB: fast key-value store
LMDB: an embedded key-value store that conforms to the four basic elements of a database
MySQL++ : A C++ wrapper that encapsulates the C API of MySql
RocksDB: Fast storage of embedded key-values from Facebook
SQLite : A fully embedded, full-featured relational database that is only a few hundred KB and can be included correctly into your project.
Redis: An open source log-type, Key-Value database written in ANSI C language, complying with the BSD protocol, supporting the network, and can be memory-based and persistent.
MongoDB: a database based on distributed file storage
debug
Boost.Test: Boost testing library
Catch: A very stylish, C++ native framework that only contains 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: Multi-platform debug heap for tracking memory errors
libtap: writing tests in C
MemTrack: for tracking memory allocations in C++
MicroProfile: Cross-platform network attempt profiler
minUnit: A mini unit testing framework written in C, using only two macros
Remotery: a single C file parser for web views
UnitTest++: lightweight C++ unit testing framework
container
C++ B-Tree: A template library that implements command memory containers based on the B-tree data structure
Hashmaps: Implementation of the Open Addressed Hash Table Algorithm in C++
game engine
Cocos2d-x: A cross-platform framework for building 2D games, interactive books, presentations and other graphics applications.
Grit: A community project to build a free game engine for open-world 3D games.
lrrlicht: an open source high-performance real-time #D engine written in C++ language
PolyCode: An open source framework for creating games implemented in C++ (bundled with Lua).
graphics library
bgfx: cross-platform rendering library
Cairo: 2D graphics library supporting multiple output devices
Horde3D: A small 3D rendering and animation engine
magnum: C++11 and OpenGL 2D/3D graphics engine
Ogre 3D: A scene-oriented, real-time, flexible 3D rendering engine written in C++ (not a game engine)
OpenSceneGraph: High-performance open source 3D graphics toolkit
Panda3D: Framework for 3D rendering and game development, written in Python and C++.
Skia: A complete 2D graphics library for drawing text, graphics and images
urho3d: Cross-platform rendering and game engine.
image processing
Boost.GIL: General image library
CImg: A small open source C++ toolkit for image processing
FreeImage: An open source library that supports common image formats and other formats required by today's multimedia applications.
GDCM: Grassroots DICOM library
ITK: Cross-platform open source image analysis system
Magick++: C++ interface to the ImageMagick program
OpenCV: Open source computer vision library
tesseract-ocr: OCR engine
VIGRA: General-purpose C++ computer vision library for image analysis
VTK: Open source free software system for 3D computer graphics, image processing and visualization.
internationalization
gettext : GNU gettext
IBM ICU: C, C++ and Java libraries providing Unicode and globalization support
libiconv: encoding conversion library between different character encodings
Json library
frozen: Jason parsing generator for C/C++
Jansson: C language library for encoding, decoding and processing Jason data
jbson: A library for building and iterating BSON data, and Json documents in C++14
JeayeSON: A very robust C++ JSON library that only contains header files
JSON++ : C++ JSON parser
json-parser : JSON parser written in portable ANSI C with very low memory footprint
json11 : A mini C++11 JSON library
jute : Very simple C++ JSON parser
ibjson: JSON parsing and printing library in C, easily integrated with any model
libjson: lightweight JSON library
PicoJSON: JSON parsing and serialization in C++, including only header files
Qt-Json: A simple class for parsing between JSON data and QVariant hierarchies
QJson : Qt-based library for mapping JSON data to QVariant objects
RepidJSON: A fast JSON parsing generator for C++, including SAX and DOM style APIs
YAJL: Fast streaming JSON parsing library in C language
log
Boost.Log: Designed to be very modular and extensible
easyloggingpp: C++ logging library, containing only a single header file.
Log4cpp: A series of C++ libraries that flexibly add logs to files, system logs, IDSA and other places.
templog : A lightweight C++ library that can add logging to your C++ applications
machine learning, artificial intelligence
btsk: Game behavior tree launcher tool
Evolving Objects: Template-based, ANSI C++ evolutionary computing library that can help you write your own stochastic optimization algorithms very quickly.
Caffe: a fast neural network framework
CCV: A modern computer vision library with C language as its core
mlpack: Extensible C++ machine learning library
OpenCV: Open source computer vision library
Recommender: A C language library for product recommendations/suggestions using collaborative filtering.
SHOGUN: Shogun machine learning tool
sofia-ml: A suite of fast incremental algorithms for machine learning
math library
Armadillo: A high-quality C++ linear algebra library that strikes a good balance between speed and ease of use. The syntax is very similar to MatlAB
blaze: High-performance C++ math library for dense and sparse algorithms.
ceres-solver: A C++ library from Google for modeling and solving large complex nonlinear least squares problems.
CGal: A collection of efficient and reliable set algorithms
CML: Free C++ math library for games and graphics
Eigen: A high-level C++ template header library covering linear algebra, matrix, vector operations, numerical solving and other related algorithms.
GMTL: Mathematical Graphics Template Library is a set of tools for implementing basic graphics extensively.
GMP: C/C++ library for high-precision calculations, handling signed integers, rational numbers and floating point numbers.
multimedia library
GStreamer: A library for building graphs of media processing components
LIVE555 Streaming Media: Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP)
libVLC: libVLC (VLC SDK) media framework
QtAV: A multimedia playback framework based on Qt and FFmpeg that can help you easily write a player
SDL: Simple direct control of the media layer
SFML: Fast, simple multimedia library
physics
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 - an open source, high-performance library for simulating rigid body dynamics.
ofxBox2D: Box2D open source framework wrapper.
Simbody: A high-performance C++ multibody dynamics/physics library for simulating joint biomechanics and mechanical systems like vehicles, robots, and human skeletons.
Robotics
MOOS-Ivp: A set of open source C++ modules that provide autonomy for robotic platforms, specifically autonomous marine vehicles.
MRPT: Mobile Robot Programming Toolkit
PCL: Point Cloud Library is an independent, large-scale open project for 2D/3D image and point cloud processing.
Robotics Library: A stand-alone C++ library including robot dynamics, motion planning and control.
RobWork: A collection of C++ libraries for simulation and control of robotic systems.
ROS: Robot Operating System that provides libraries and tools to help software developers create robotic applications.
scientific computing
FFTW: C language library for calculating DFT in one or more dimensions.
GSL: GNU Scientific Library.
script
ChaiScript: An easy-to-use embedded scripting language for C++.
Lua: A small and fast scripting engine for configuration files and basic application scripts.
luacxx : C++11 API for creating Lua bindings
SWIG : A wrapper/interface generator that lets your C++ code link to JavaScript, Perl, PHP, Python, Tcl and Ruby
V7: Embedded JavaScript engine.
V8: Google's fast JavaScript engine that can be embedded into any C++ application.
serialization
Cap'n Proto: Fast data exchange 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 exchange format.
ProtoBuf-c: Protocol buffer implementation in C language
SimpleBinaryEncoding : Encoding and decoding of application information in binary format for low-latency applications.
Thrift: Efficient cross-language IPC/RPC, used in C++, Java, Python, PHP, C# and many other languages, originally developed by Facebook.
Video library
libvpx: VP8/VP9 encoding and decoding SDK
FFMpeg: A complete, cross-platform solution for recording, converting video and audio streams.
libde265: Open implementation of the h.265 video codec.
OpenH264: Open source H.364 codec.
Theora: Free and open source video compression format.
XML library
Expat: xml parsing library written in C language
LibXml2: xml C parser and toolkit for Gnome
LibXml++: xml parser for C++
PugiXML: A lightweight, simple and fast XML parser for C++ that supports XPath.
RapidXML: Attempts to create the fastest XML parser while maintaining ease of use, portability, and reasonable W3C compatibility.
TinyXML: A simple and 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 completely new interface to TinyXML that takes advantage of many of the advantages of C++, templates, exceptions and better exception handling.
Xerces-C++: XML validation parser written in a subset of portable C++.
Zero collar job
Provided in real time, job recruitment information for c/c++ and golang in Beijing, Shanghai, Guangzhou, Shenzhen, Hangzhou, Nanjing, Hefei, Wuhan, Changsha, Chongqing, Chengdu, Xi'an, and Xiamen is released every week. Including school recruitment, social recruitment, internship positions, interviews, stereotypes, and resumes