Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What modern C++ libraries should be in my toolbox? [closed]

Tags:

c++

People also ask

Where are C++ libraries located?

Usually, there is '/lib' folder on Windows or '/usr/lib' folder on Linux that contains all the libraries. Once the library is installed, the compiler and the linker know the path of the library to use, and the library is ready for use.

Should I use the C++ Standard Library?

You should use standard libraries in all languages, not only C++. That's pretty much a basic rule in programming these days. Your impression is wrong; any good project will benefit from building upon known, tested, libraries.

Can I use CPP libraries in C?

Oracle Developer Studio C and C++ compilers use compatible headers, and use the same C runtime library. They are fully compatible.

Where should all elements of the standard C++ library be declared?

Each element of the C++ standard library is declared or defined (as appropriate) in a header . A header is not necessarily a source file, nor are the sequences delimited by < and > in header names necessarily valid source file names.


Cross-platform libraries that are free for commercial (or non-commercial) applications

Feel free to expand this list


  • General Purpose
    • Boost
    • Loki
    • MiLi
    • POCO
    • STL (of course)
    • STXXL (STL re-implementation for extra large data sets)
    • Qt
    • ASL
    • JUCE

  • Audio
    • FMOD
    • Synthesis ToolKit
  • Database
    • SOCI
    • OTL
    • LMDB++
  • Design
    • IoC Frameworks
      • Hypodermic
      • PocoCapsule
      • Wallaroo
  • Documents
    • LibreOffice API
    • PoDoFo
  • Graphics
    • Allegro
    • OGRE
    • SFML
  • GUI
    • FLTK
    • GTK
    • Qt
    • Qwt
    • wxWidgets
    • VTK
  • Hashing
    • MurmurHash3
  • Imaging
    • Boost.GIL
    • CImg
    • DevIL
    • EasyBMP
    • FreeImage
    • ITK
    • OpenCV
  • Logging
    • Boost.Log
    • log4cxx
    • Pantheios
  • Mocking
    • Google Mock
    • Hippo Mocks
    • Turtle (C++ mock object library for Boost)
  • Multimedia
    • openframework
    • Cinder
    • SDL
  • Networking
    • ACE
    • Boost.Asio
    • ICE
  • Testing
    • Boost.Test
    • Google Test
    • UnitTest++
    • doctest
  • Threading
    • Boost.Thread
  • Version Control
    • libgit2
  • Web Application Framework
    • CppCMS
    • Wt
  • XML
    • Libxml2
    • pugixml
    • RapidXml
    • TinyXML
    • Xerces-C++

Links to additional lists of open source C++ libraries:

http://en.cppreference.com/w/cpp/links/libs


Sorry for repeating some of the stuff already written, but:

  • UI: Qt
  • Database: SOCI
  • General purpose: Boost, Loki, STLSoft Libraries, ASL
  • Threading: Boost.Thread
  • Testing: Boost.Test
  • Build tools: Boost.Build, SCons

(Should at least get you started)


On Windows...

ATL for COM development WTL for user interface


CGAL is an excellent c++ library for computational geometry

www.cgal.org


http://loki-lib.sourceforge.net/ might also be good addition.

It's another template library, which introduces typelists, and implementations for various design patterns.

I never used it, but I read Alexandrescu's book to get a better understanding of templates.