Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Notifications You must be signed in to change notification settings

mickelfeng/awesome-cpp

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 

Repository files navigation

Awesome C/C++

A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Standard Libraries

C++ Standard Library - including STL Containers, STL Aglorithm, STL Functional etc.

Frameworks

C++ generic frameworks and libraries.

  • Apache C++ Standard Library - A collection of algorithms, containers, iterators, and other fundamental components.
  • ASL - Adobe Source Libraries provides peer-reviewed and portable C++ source libraries.
  • Boost - A large collection of generic C++ libraries.
  • BDE - The BDE Development Environment from Bloomberg Labs.
  • Cinder - A community-developed, free and open source library for professional-quality creative coding.
  • Cxxomfort - A small, header-only library that backports to C++03 some of the nifty C++11 goodies.
  • Dlib - A general purpose cross-platform C++ library designed using contract programming and modern C++ techniques.
  • ffead-cpp - Framework for Enterprise Application Development.
  • Folly - An open-source C++ library developed and used at Facebook.
  • JUCE - An all-encompassing C++ class library for developing cross-platform software.
  • libPhenom - libPhenom is an eventing framework for building high performance and high scalability systems in C.
  • LibSourcey - C++11 evented IO for real-time video streaming and high performance networking applications.
  • LibU - A multiplatform utility library written in C.
  • Loki - A C++ library of designs, containing flexible implementations of common design patterns and idioms.
  • MiLi - Minimal headers-only C++ Library.
  • openFrameworks - An open source C++ toolkit for creative coding.
  • Qt - A cross-platform application and UI framework.
  • Reason - A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++.
  • STXXL - Standard Template Library for Extra Large Data Sets.
  • Ultimate++ - A C++ cross-platform rapid application development framework.
  • Windows Template Library - A C++ library for developing Windows applications and UI components.
  • Yomm11 - Open multi-methods for C++11.

Artificial Intelligence

  • Evolving Objects - A template-based, ANSI-C++ evolutionary computation library which helps you to write your own stochastic optimization algorithms insanely fast.
  • Neu - A C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications.

Asynchronous Event Loop

  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming.
  • libev - A full-featured and high-performance event loop that is loosely modelled after libevent, but without its limitations and bugs.
  • libevent - An event notification library.
  • libuv - Cross-platform asychronous I/O.

Audio

Audio, Sound, Music, Digitized Voice Libraries

Compression

Compression and Archiving Libraries

  • bzip2 - A freely available, patent free, high-quality data compressor.
  • LZ4 - Extremely Fast Compression algorithm.
  • LZMA - The default and general compression method of 7z format.
  • miniz - Single C source file Deflate/Inflate compression library with zlib-compatible API, ZIP archive reading/writing, PNG writing.
  • Minizip - Zlib with latest bug fixes that supports PKWARE disk spanning, AES encryption, and IO buffering.
  • Snappy - A fast compressor/decompressor.
  • ZLib - A very compact compression library for data streams.
  • ZZIPlib - Provides read access on ZIP-archives.

Concurrency

  • Boost.Compute - A C++ GPU Computing Library for OpenCL.
  • Bolt - A C++ template library optimized for GPUs.
  • Intel TBB - Intel® Threading Building Blocks.
  • OpenCL - The open standard for parallel programming of heterogeneous systems.
  • OpenMP - The OpenMP API.
  • Thrust - A parallel algorithms library which resembles the C++ Standard Template Library (STL).
  • HPX - A general purpose C++ runtime system for parallel and distributed applications of any scale.
  • VexCL - A C++ vector expression template library for OpenCL/CUDA.

Containers

  • C++ B-tree - A template library that implements ordered in-memory containers based on a B-tree data structure.

Cryptography

Cryptography and Encryption Libraries

  • Crypto++ - A free C++ class library of cryptographic schemes.
  • LibTomCrypt - A fairly comprehensive, modular and portable cryptographic toolkit.
  • libsodium - P(ortable|ackageable) NaCl-based crypto library, opinionated and easy to use.
  • OpenSSL - A robust, commercial-grade, full-featured, and Open Source cryptography library.

Database

Database Libraries, SQL Servers, ODBC Drivers, and Tools

  • hiberlite - C++ Object-relational mapping for sqlite3.
  • SQLite - A completely embedded, full-featured relational database in a few 100k that you can include right into your project.

Debug

Debugging Libraries, Memory Leak and Resource Leak Detection, Unit Testing

Game Engine

  • Cocos2d-x - A multi-platform framework for building 2d games, interactive books, demos and other graphical applications.
  • Irrlicht - An open source high performance realtime 3D engine written in C++.
  • Polycode - Open-Source Framework for creating games in C++ (with Lua bindings)..

GUI

Graphic User Interface

  • GTK+ - A multi-platform toolkit for creating graphical user interfaces.
  • gtkmm - The official C++ interface for the popular GUI library GTK+.
  • Ncurses - A terminal user interfaces.
  • Qwt - Qt Widgets for Technical Applications.
  • QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets.
  • wxWidgets - A C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base.

Graphics

  • Cairo - A 2D graphics library with support for multiple output devices.
  • CImg - A small, open source, C++ toolkit for image processing.
  • Ogre 3D - A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++.
  • Panda3D - A framework for 3D rendering and game development for Python and C++ .
  • Skia - A 2D Graphics Library.

Internationalization

  • IBM ICU - A set of C/C++ and Java libraries providing Unicode and Globalization support.
  • gettext - GNU `gettext'.

JSON

  • frozen - JSON parser and generator for C/C++.
  • Jansson - C library for encoding, decoding and manipulating JSON data.
  • json11 - A tiny JSON library for C++11.
  • picojson - A header-file-only, JSON parser serializer in C++.
  • RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API.
  • YAJL - A fast streaming JSON parsing library in C.

Logging

  • Log4cpp - A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations.
  • templog - A very small and lightweight C++ library which you can use to add logging to your C++ applications.

Machine Learning

  • Caffe - A fast framework for neural networks.
  • CCV - C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library.
  • mlpack - A scalable c++ machine learning library.
  • OpenCV - Open Computer Vision.
  • Recommender - C library for product recommendations/suggestions using collaborative filtering (CF).
  • SHOGUN - The Shogun Machine Learning Toolbox.
  • sofia-ml - The suite of fast incremental algorithms for machine learning.

Mocking

  • googlemock - A library for writing and using C++ mock classes.

Multimedia

  • GStreamer - A library for constructing graphs of media-handling components.
  • libVLC - libVLC (VLC SDK) media framework.
  • SFML - Simple and Fast Multimedia Library.
  • SDL - Simple DirectMedia Layer.

Networking

  • ACE - An OO Network Programming Toolkit in C++.
  • Boost.Asio - A cross-platform C++ library for network and low-level I/O programming.
  • Casablanca - C++ REST SDK.
  • cpp-netlib - A collection of open-source libraries for high level network programming.
  • Muduo - A C++ non-blocking network library for multi-threaded server in Linux.
  • net_skeleton - TCP client/server library for C/C++.
  • Onion - HTTP server library in C designed to be lightweight and easy to use.
  • POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.
  • WebSocket++ - C++/Boost Asio based websocket client/server library.

Physics

Dynamics simulation engines

  • Box2D - A 2D physics engine for games.
  • Bullet - A 3D physics engine for games.
  • LiquidFun - A 2D physics engine for games.
  • ofxBox2d - openFrameworks wrapper for Box2D.
  • Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.

Scripting

  • ChaiScript - An easy to use embedded scripting language for C++.
  • Lua - A minimal and fast scripting engine for configuration files and basic application scripting.
  • SWIG - a wrapper/interface Generator that let you link your c++ code to Javascript, Perl, PHP, Python, Tcl and Ruby.
  • V8 - A fast JavaScript engine by Google that can be embedded into any C++ application.

Serialization

  • cereal - A C++11 library for serialization.
  • FlatBuffers - A Memory efficient serialization library.
  • protobuf - Protocol Buffers - Google's data interchange format.

Web Application Framework

  • CppCMS - A Free High Performance Web Development Framework (not a CMS).
  • Crow - Crow is C++ micro web framework (inspired by Python Flask).
  • Wt - A C++ library for developing web applications.

Etc.

Etcetera or maybe just uncategorized

  • C++ Format - Small, safe and fast formatting library for C++.
  • casacore - A set of c++ core libraries derived from aips++.
  • cxx-prettyprint - A pretty printing library for C++ containers.
  • DynaPDF - An easy-to-use PDF generation library.
  • HTTP Parser - A http request/response parser for C.
  • libusb - A universal USB library which allows for portable access to USB devices.
  • Remote Call Framework - Inter-process communication framework for C++.
  • Serial Communication Library - Cross-platform, Serial Port library written in C++.
  • SDS - Simple Dynamic Strings library for C.
  • SLDR - Super Light DNS Resolver.
  • SLRE - Super Light Regular Expression library.
  • Stage - Mobile robot simulator.
  • ZBar - A barcode scanner library, which allows to scan photos/images/video streams for barcodes and return their value.
  • CppVerbalExpressions - C++ regular expressions made easy.
  • QtVerbalExpressions - This Qt lib is based off of the C++ VerbalExpressions library.

Software

Software for creating a development environment.

Compilers

List of C/C++ compilers

Integrated Development Environments

List of C/C++ nominal IDEs.

  • Code::Blocks - A free C, C++ and Fortran IDE.
  • Dev-C++ - A portable C/C++/C++11 IDE.
  • Eclipse CDT - A fully functional C and C++ IDE based on the Eclipse platform.
  • KDevelop - A free, open source IDE.
  • Microsoft Visual Studio - An IDE from Microsoft.
  • NetBeans - An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
  • Qt Creator - A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
  • Xcode - Developed by Apple.

Resources

Various resources, such as books, websites, and articles for improving your C++ development skills and knowledge.

Articles

Fantastic C/C++ related articles.

Books

Fantastic C/C++ related books.

Videos

Fantastic C/C++ related videos.

Websites

Useful C/C++ related websites.

Other Awesome Projects

Collection of useful codes, snippets, ...

Other Awesome Lists

Other amazingly awesome lists

  • lists - List of (awesome) lists curated on GitHub
  • awesome-awesomeness - A curated list of awesome awesomeness.
  • awesome - A curated list of awesome lists.
  • free-programming-books - List of Freely Available Programming Books
  • papers-we-love - Papers from the computer science community to read and discuss.
  • awesome-php - Awesome PHP libraries, resources and shiny things.
  • awesome-python - Awesome Python frameworks, libraries and software.
  • awesome-sysadmin - Awesome open source sysadmin resources
  • awesome-talks - A lot of screencasts, recordings of user group gatherings and conference talks.
  • github-cheat-sheet - A list of cool features of Git and GitHub.
  • ToolsOfTheTrade - Tools of The Trade, from Hacker News.
  • cheatsheets.org - The largest collection of reference cards for developers.
  • cheat-sheets.org - All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page.
  • thefreecountry.com - A collection of free programming resources, free webmasters' resources, free security resources and free utilities.

Contributing

Please see CONTRIBUTING for details.

About

A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.