C++ libraries
On this page I gathered relatively mature and good quality C++ libraries, most of them open source(LPGL or GPL) or free to use.

C++ GUI libraries / frameworks

  • Qt Cross-Platform Application Framework This is a very good quality C++ library/framework to create cross platform programs. It offer also other interesting libraries, for example for networking(sockets), file access, SQL , OpenGL and more. For open source application you can use it for free, if you plan to create a commercial application you have to buy a license.
  • wxWidgetswxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native.

General C++ libraries(math, structure, containers, etc.)

  • Boost C++ librariesBoost provides free peer-reviewed portable C++ source libraries.The libraries serve many different purposes, for example linear algebra((matrix calculations) advanced math function, containers, templates, structures ,lists, queues, etc.
  • Standard Template Library. The Standard Template Library, or STL, is a C++ library of container classes, algorithms, and iterators; it provides many of the basic algorithms and data structures of computer science. The STL is a generic library, meaning that its components are heavily parameterized: almost every component in the STL is a template

Math and equation solving C++ libraries

  • GNU Scientific Library The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.
  • CGAL - Computational geometry algorithms library
  • libMesh The libMesh library provides a framework for the numerical simulation of partial differential equations using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist to focus on the physics they are modeling.
  • Getfem++ The Getfem++ project focuses on the development of a generic and efficient C++ library for finite element methods. The goal is to provide a library allowing the computation of any elementary matrix (even for mixed finite element methods) on the largest class of methods and elements, and for arbitrary dimension (i.e. not only 2D and 3D problems).

C++ 3D graphics and physics

  • OGRE 3D :: Open source graphics engine. OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
  • Irrlicht engineThe Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
  • G3D engineG3D is a commercial-grade C++ 3D engine available as Open Source (BSD License). It is used in commercial games, research papers, military simulators, and university courses. G3D supports real-time rendering, off-line rendering like ray tracing, and general purpose computation on GPUs.
  • Mesa3DMesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.
  • ODEODE is an open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction.

C++ Peer to peer

  • libjingle libjingle is a collection of open-source C++ code and sample applications that enables you to build a peer-to-peer application. The code handles creating a network connection (through NAT and firewall devices, relay servers, and proxies), negotiating session details (codecs, formats, etc.), and exchanging data. It also provides helper tasks such as parsing XML, and handling network proxies.