Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-cpp-completed


https://github.com/caesardice/awesome-cpp-completed

Last synced: about 24 hours ago
JSON representation

  • Frameworks

    • abseil-cpp - Abseil C++ Common Libraries. [Apache2]
    • ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries. [MIT]
    • Boost - A large collection of generic C++ libraries. [Boost] [website](http://www.boost.org/)
    • Cinder - A community-developed, free and open source library for professional-quality creative coding. [BSD]
    • GLib - GLib provides the core application building blocks for libraries and applications written in C. [LGPL]
    • ROOT - A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL]
    • STLport - An exemplary version of STL. [Free]
    • uSTL - The small STL library. [MIT]
    • APR - Apache Portable Runtime. Another library of cross-platform utility functions. [Apache2]
  • Weblogs

  • Inter-process communication

    • WAMP - Provides RPC and pub/sub messaging patterns. (various implementations, various languages)
    • Apache Thrift - Efficient cross-language IPC/RPC, works between C++, Java, Python, PHP, C#, and many more other languages. Originally developed by Facebook. [Apache2]
    • Boost.Interprocess - Header-only Boost library that supports kernel-level shared memory and memory-mapped files, with in-built synchronization mechanisms (semaphores, mutexes, and more). [Boost] [website](https://www.boost.org/)
  • Standard Libraries

    • C++ Standard Library - A collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.
    • Standard Template Library - The Standard Template Library (STL).
    • C POSIX library - A specification of a C standard library for POSIX systems.
    • ISO C++ Standards Committee - ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee. [website](http://www.open-std.org/JTC1/SC22/WG21/)
    • The GNU C Library - The purpose of this manual is to tell you how to use the facilities of the GNU C Library.
  • Audio

    • KFR - Fast, modern C++ DSP framework, FFT, FIR/IIR filters, Sample Rate Conversion. [GPL/Commercial]
    • LAME - LAME is a high quality MPEG Audio Layer III (MP3) encoder. [LGPL]
    • OpenAL - Open Audio Library - A crossplatform audio API. [BSD/LGPL/Commercial]
    • Vorbis - Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format. [BSD]
  • Biology

    • Chaste - An open source C++ library for the computational simulation of mathematical models developed for physiology and biology. [BSD]
  • Chemistry

    • ORCA - An ab initio quantum chemistry program package that contains modern electronic structure methods. [Academic] [website](https://orcaforum.kofo.mpg.de/)
  • Compression

    • bzip2 - A freely available, patent free, high-quality data compressor. [BSD]
    • PhysicsFS - A library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. [zlib]
    • KArchive - A library for creating, reading, writing and manipulating file archives like zip and tar. It also provides transparent compression and decompression of data, using formats like gzip, via a subclass of QIODevice. [LGPL]
    • ZLib - A very compact compression library for data streams. [zlib]
    • LZMAT - An extremely fast real-time lossless data compression library. [GPL]
    • LZHAM - Lossless data compression library with a compression ratio similar to LZMA but with much faster decompression. [BSD]
  • Concurrency

    • OpenCL - The open standard for parallel programming of heterogeneous systems.
    • STAPL - A C++ parallel programming framework designed to work on both shared and distributed memory parallel computers. [BSD]
    • Thrust - A parallel algorithms library which resembles the C++ Standard Template Library (STL). [Apache2]
    • Intel TBB - Intel® Threading Building Blocks. [Apache2]
  • Containers

    • Forest - Template library implementing an AVL, a Binary Search, a KD and a Quad Tree. [MIT]
  • Cryptography

    • GnuPG - A complete and free implementation of the OpenPGP standard. [GPL]
    • Libgcrypt - A general purpose cryptographic library originally based on code from GnuPG. [LGPLv2.1+]
    • LibreSSL - A free version of the SSL/TLS protocol forked from OpenSSL in 2014. [?]
    • Nettle - A low-level cryptographic library. [LGPL]
    • Themis - crypto library for painless data security, providing symmetric and asymmetric encryption, secure sockets with forward secrecy, for mobile and server platforms. [Apache2]
  • Database

    • LMDB - Very fast embedded key/value store with full ACID semantics. [OpenLDAP]
    • ODB - An open-source, cross-platform, and cross-database object-relational mapping (ORM) system for C++. [GPLv2]
  • Debug

    • CMocka - unit testing framework for C with support for mock objects. [Apache2]
    • CTest - The CMake test driver program. [BSD]
    • Mockator - Eclipse CDT plug-in for C++ Seams and Mock Objects.
  • Game Engine

    • Urho3D - A free lightweight, cross-platform 2D and 3D game engine implemented in C++. Greatly inspired by OGRE and Horde3D. [MIT]
  • GUI

    • CEGUI - Flexible, cross-platform GUI library.
    • MyGUI - Fast, flexible and simple GUI. [MIT]
    • nana - Nana is a cross-platform library for GUI programming in modern C++ style. [Boost]
  • Image Processing

    • CImg - A small, open source, C++ toolkit for image processing. [Own LGPL or GPL]
    • CxImage - An image processing and conversion library to load, save, display, transform BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K images. [zlib]
    • GDCM - Grassroots DICOM library.
    • Magick++ - ImageMagick program interfaces for C++. [Apache2]
    • MagickWnd - ImageMagick program interfaces for C. [Apache2]
    • stb-image - STB single-header image loading library. [Public Domain]
    • tesseract-ocr - An OCR engine. [Apache2]
    • DCMTK - DICOM Toolkit.
    • ITK - An open-source, cross-platform system for image analysis. [Apache2 from ITK 4.0]
  • Internationalization

    • gettext - GNU 'gettext'. [GPL2]
    • libiconv - An encoding conversion library between different character encodings. [GPL]
  • Logging

    • templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications. [Boost]
    • P7Baical - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
    • P7Baical - An open source and cross-platform library for high-speed sending telemetry & trace data with minimal usage of CPU and memory. [LGPL]
  • Math

    • ceres-solver - C++ library for modeling and solving large complicated nonlinear least squares problems from google. [BSD]
    • cml - free C++ math library for games and graphics. [Boost]
    • ExprTK - The C++ Mathematical Expression Toolkit Library (ExprTk) is a simple to use, easy to integrate and extremely efficient run-time mathematical expression parser and evaluation engine. [MIT]
    • GMP - A C library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. [LGPL3 & GPL2]
    • muparser - muParser is an extensible high performance math expression parser library written in C++. [MIT]
    • PCG-rand - PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict. [Apache]
    • Versor - A (fast) Generic C++ library for Geometric Algebras, including Euclidean, Projective, Conformal, Spacetime (etc).
    • Wykobi - A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines. [MIT]
    • Geometric Tools - C++ library for computing in the fields of mathematics, graphics, image analysis and physics. [Boost] [website](https://www.geometrictools.com)
  • Multimedia

    • LIVE555 Streaming Media - Multimedia streaming library using open standard protocols (RTP/RTCP, RTSP, SIP). [LGPL]
    • libVLC - libVLC (VLC SDK) media framework. [GPL]
    • SDL - Simple DirectMedia Layer. [zlib]
  • Networking

    • ACE - An OO Network Programming Toolkit in C++. [?MIT?]
    • KCP - A fast and reliable ARQ protocol that helps applications to reduce network latency. [MIT]
    • Libmicrohttpd - GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application. [LGPL v2.1+]
    • POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost] [website](http://pocoproject.org/)
    • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming. [Boost]
    • lwIP - A lightweight TCP/IP stack. [Modified BSD]
  • PDF

    • MuPDF - A lightweight PDF, XPS, and E-book viewer. [AGPL/Commercial]
    • Poppler - Open-source multi-backend PDF rendering library based on the xpdf-3.0 code base. [GPLv2/GPLv3]
    • Xpdf - Xpdf is a free PDF viewer and toolkit, including a text extractor, image converter, HTML converter, and more. [GPL v2/GPL v3]
  • Physics

    • ODE - Open Dynamics Engine - An open source, high performance library for simulating rigid body dynamics. [BSD&LGPL]
  • Regular Expression

    • PCRE - A regular expression C library inspired by the regular expression capabilities in Perl. [BSD]
  • Robotics

    • ROS - Robot Operating System provides libraries and tools to help software developers create robot applications. [BSD]
  • Scientific Computing

    • FFTW - A C library for computing the DFT in one or more dimensions. [GPL]
    • GSL - GNU scientific library. [GPL]
  • Scripting

    • AngelScript - AngelScript is a game-oriented interpreted/compiled scripting language. [zlib]
    • Lua - A minimal and fast scripting engine for configuration files and basic application scripting. [MIT]
    • SIP - C or C++ Bindings Generator for Python v2 and v3. [GPL]
  • Serialization

  • Video

    • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video. [LGPL2/GPL2]
    • x265 - Open h.265 video codec implementation. [GPL2] [website](https://x265.readthedocs.io/en/master/)
    • Theora - A free and open video compression format. [BSD]
  • Web Application Framework

    • Kore - ultra fast and flexible web server / framework for web applications developed in C. [ISC]
    • Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
    • Pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
  • XML

    • Expat - An XML parser library written in C. [MIT]
  • Miscellaneous

    • libusb - A universal USB library which allows for portable access to USB devices. [LGPL2]
    • StrTk - A C++ library consisting of high performance string processing routines. [MIT]
    • casacore - A set of c++ core libraries derived from aips++. [LGPL]
    • FastFormat - Fast, Safe C++ Formatting inspired by log4j and Pantheios [Simplified BSD]
  • Compiler

    • GCC - GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
    • PCC - A very old C compiler. Supports C99.
    • Open WatCom - Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
    • Oracle Solaris Studio - C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
  • Online Compiler

    • codechef - A simple online compiler CodeChef.
    • codepad - An online compiler/interpreter, and a simple collaboration tool.
    • coliru - Online compiler/shell with support for various C++ compilers.
    • Try It Online - TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
    • Wandbox - An online Clang/GCC compiler with Boost available.
    • paiza.io - An online C/C++ compiler with multiple files supporting feature, Github(gist) integration and collaborative editing.
  • Debugger

  • Build Systems

    • CMake - Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
    • SW - Cross-platform C++ (and other langs) Build System and Package Manager with a lot of packages available. [GPLv3]
    • build2 - cross-platform build, packaging and dependency management toolchain for developing and packaging C/C++ projects. [MIT]
    • Conan - C/C++ Package Manager, open sourced. [MIT]
    • Ninja - A small build system with a focus on speed.
    • Sconsolidator - Scons build system integration for Eclipse CDT.
    • Spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
    • waf - Python-based framework for configuring, compiling and installing applications. [BSD] [website](https://waf.io/)
    • XMake - A C/C++ cross-platform build utility based on Lua. [Apache]
    • FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
    • Hunter - CMake driven cross-platform package manager for C++. [BSD-2]
    • FASTBuild - High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
    • Hunter - CMake driven cross-platform package manager for C++. [BSD-2]
  • Integrated Development Environment

    • Anjuta DevStudio - The GNOME IDE. [GPL3]
    • IBM VisualAge - A family of computer integrated development environments from IBM.
    • Microsoft Visual Studio Code - An open-source IDE from Microsoft. [MIT]
    • Xcode - Developed by Apple.
    • Cevelop - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
    • CLion - Cross-platform C and C++ IDE from JetBrains.
    • Code::Blocks - A free C, C++ and Fortran IDE.
    • CodeLite - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins]
    • Geany - Small, fast, cross-platform IDE. [GPL]
    • KDevelop - A free, open source IDE.
    • Microsoft Visual Studio - An IDE from Microsoft.
    • Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
    • Cevelop - Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
    • CLion - Cross-platform C and C++ IDE from JetBrains.
    • Code::Blocks - A free C, C++ and Fortran IDE.
    • CodeLite - Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins]
    • Geany - Small, fast, cross-platform IDE. [GPL]
    • KDevelop - A free, open source IDE.
    • Microsoft Visual Studio - An IDE from Microsoft.
    • Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
  • Static Code Analysis

    • CppDepend - Simplifies managing a complex C/C++ code base by analyzing and visualizing code dependencies, by defining design rules, by doing impact analysis, and comparing different versions of the code.
    • Infer - A static analyzer for Java, C and Objective-C. [BSD]
    • List of tools for static code analysis - A list of tools for static code analysis from Wikipedia.
    • OCLint - A static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C. - [source](https://github.com/oclint/oclint)
  • Coding Style Tools

    • EditorConfig - EditorConfig helps maintain consistent coding styles across different editors and IDEs.
  • API Design

  • Books

  • Coding Standards

  • Coding Style

  • Websites

    • Standard C++ - News, Status & Discussion about Standard C++.
    • C++ FAQ - C++ frequently asked questions.
    • C++ FQA Lite - C++ frequently questioned answers.
    • Guru of the Week - A regular series of C++ programming problems created and written by Herb Sutter.
    • C++ Quiz - C++ quiz in which you propose to find errors in code fragments of open source projects.
    • Udemy C++ Courses and Tutorials
    • C++ Hints - Every business day hints about most often C++ mistakes and ways to solve them from PVS-Studio Team.
    • C++ tutorial - A user ranked online tutorial bank site displaying multiple courses to learn C++ from.
  • Videos

  • Other Awesome Projects

  • Asynchronous Event Loop

    • libevent - An event notification library. [BSD]