Welche modernen C ++ - Bibliotheken sollten sich in meiner Toolbox befinden? [geschlossen]

184

Ich bin seit ungefähr 10 Jahren nicht mehr im C ++ - Spiel und möchte wieder einsteigen und eine kommerzielle App starten. Welche Bibliotheken werden derzeit verwendet?

  • Benutzeroberfläche (z. B. wxWidgets , Qt )
  • Datenbank
  • Allzweck (zB Boost , Loki , STL)
  • Einfädeln
  • Testen
  • Netzwerk / Sockets

Ich möchte plattformübergreifend kompatibel sein (so viel wie möglich sofort einsatzbereit).

Auf welche Bibliotheken verlassen Sie sich? Welche Funktionen bieten sie, die sie "unverzichtbar" machen ?

Siehe meine Antwort unten für eine Zusammenfassung.

Ryan Emerle
quelle

Antworten:

191

Plattformübergreifende Bibliotheken, die für kommerzielle (oder nicht kommerzielle) Anwendungen kostenlos sind

Fühlen Sie sich frei, diese Liste zu erweitern




Links zu zusätzlichen Listen von Open Source C ++ - Bibliotheken:

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

JBentley
quelle
1
Wäre cool, wenn Sie auch XML Libs zeigen ...
Oliver
1
@OliverStutz Ich habe einige XML-Bibliotheken hinzugefügt. Dank geht an diese ausgezeichnete Antwort, die eine Analyse der zu verwendenden Antwort enthält.
JBentley
@JBentley danke, ich benutze Pugixml, herausgefunden, dass dies ziemlich genial, klein, kompilierbar ist ... :-)
Oliver
@@ AfzaalAhmadZeeshan Das Synthesis Toolkit scheint den Kriterien für diese Frage / Antwort zu entsprechen, da es plattformübergreifend und kostenlos ist. Ich habe es vorerst wieder hinzugefügt. Können Sie erklären, warum Sie denken, dass es für diese Liste ungeeignet ist?
JBentley
Ich denke, die Boost-Bibliothek ist die beste für den allgemeinen Zweck.
Mahmut EFE
11

Unter Windows ...

ATL für die COM-Entwicklung WTL für die Benutzeroberfläche

FrodoH
quelle
10

CGAL ist eine hervorragende C ++ - Bibliothek für Computergeometrie

www.cgal.org

Yang-Qu
quelle
8

http://loki-lib.sourceforge.net/ könnte auch eine gute Ergänzung sein.

Es ist eine weitere Vorlagenbibliothek, die Typelisten und Implementierungen für verschiedene Entwurfsmuster einführt.

Ich habe es nie benutzt, aber ich habe Alexandrescus Buch gelesen, um die Vorlagen besser zu verstehen.

Ronny Brendel
quelle
12
Lokis ScopeGuard wird dein Leben verändern . Ernsthaft. Sie sind stärker, schneller und attraktiver für das andere Geschlecht.
j_random_hacker
5

CppUnit für Unit-Tests und testgetriebene Entwicklung

Andrew Stein
quelle
0

Neben all den bereits aufgelisteten großartigen Bibliotheken finde ich die Kombination von xerces für XML (einschließlich XSD-Validierung) und xalan für XSLT nützlich (xalan basiert auf xerces). AFAIK weder QT noch POCO verfügen über XSLT-Funktionen (es sei denn, sie wurden hinzugefügt, seit ich sie zuletzt verwendet habe).

Ralf
quelle