1
0
Fork 0
mirror of https://github.com/fffaraz/awesome-cpp.git synced 2024-11-13 11:16:54 -05:00
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. http://fffaraz.github.io/awesome-cpp/
Find a file
Faraz Fallahi 431b09ff71 Crow
2014-07-17 16:12:48 +04:30
CONTRIBUTING.md First commit 2014-07-17 15:22:03 +04:30
README.md Crow 2014-07-17 16:12:48 +04:30

Awesome C/C++

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

Standard Libraries

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 L.P.
  • Cinder - A community-developed, free and open source library for professional-quality creative coding in C++.
  • 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..
  • 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.

Concurrency

  • Intel TBB - Intel® Threading Building Blocks.
  • 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.

Containers

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

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+.
  • wxWidgets - a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base.
  • Qwt - Qt Widgets for Technical Applications.
  • QwtPlot3D - A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets.

Graphics

  • Ogre 3D - One of the most popular open-source graphics rendering engines.

Internationalization

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

JSON

  • picojson - A header-file-only, JSON parser serializer in C++.

Machine Learning

Mocking

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

Multimedia

  • SFML - Simple and Fast Multimedia Library.
  • SDL - Simple DirectMedia Layer.

Networking

  • ACE - An OO Network Programming Toolkit in C++.
  • 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.
  • POCO - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.

Serialization

  • protobuf - Protocol Buffers - Google's data interchange format.

Testing

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.

Compilers

List of C/C++ compilers

  • Clang - .
  • GCC - .
  • Intel C++ Compiler - .
  • Microsoft Visual C++ - .

Software

Software for creating a development environment.

Integrated Development Environments

nominal IDEs.

  • Code::Blocks - .
  • Dev-C++ - .
  • Eclipse CDT - .
  • KDevelop - .
  • Microsoft Visual Studio - .
  • NetBeans - .
  • Qt Creator - .
  • Xcode - .

Resources

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

C++ Websites

Useful C++ related websites.

C++ Books

Fantastic C++ related books.

C++ Articles

Fantastic C++ related articles.

C++ Videos

Fantastic C++ related videos.

Awesome Things

Collection of useful codes

Contributing

Please see CONTRIBUTING for details.