¿Qué bibliotecas modernas de C ++ deberían estar en mi caja de herramientas? [cerrado]

185

Llevo unos 10 años fuera del juego C ++ y quiero volver a empezar y comenzar una aplicación comercial. ¿Qué bibliotecas están en uso en estos días?

  • Interfaz de usuario (p. Ej., WxWidgets , Qt )
  • Base de datos
  • Propósito general (por ejemplo , Boost , Loki , STL)
  • Enhebrar
  • Pruebas
  • Red / enchufes

Estoy buscando ser compatible con múltiples plataformas (tanto como sea posible fuera de la caja).

¿En qué bibliotecas confía? ¿Qué características proporcionan que los hacen "indispensables" ?

Vea mi respuesta a continuación para un resumen.

Ryan Emerle
fuente

Respuestas:

192

Bibliotecas multiplataforma que son gratuitas para aplicaciones comerciales (o no comerciales)

Siéntase libre de expandir esta lista




Enlaces a listas adicionales de bibliotecas C ++ de código abierto:

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

JBentley
fuente
1
Sería genial si mostraras XML Libs también ...
Oliver
1
@OliverStutz He agregado algunas bibliotecas XML. El crédito va a esta excelente respuesta que contiene un análisis de cuál usar.
JBentley
@JBentley gracias, uso Pugixml, descubrí que esto es bastante impresionante, pequeño, compilable ... :-)
Oliver
@@ AfzaalAhmadZeeshan El Synthesis Toolkit parece coincidir con los criterios para esta pregunta / respuesta, siendo multiplataforma y gratuito. Lo he agregado de nuevo por ahora. ¿Puede explicar por qué cree que no es adecuado para esta lista?
JBentley
Creo que la biblioteca de impulso es la mejor para fines generales.
Mahmut EFE
11

En Windows ...

ATL para desarrollo COM WTL para interfaz de usuario

FrodoH
fuente
10

CGAL es una excelente biblioteca de c ++ para geometría computacional

www.cgal.org

yang-qu
fuente
8

http://loki-lib.sourceforge.net/ también podría ser una buena adición.

Es otra biblioteca de plantillas, que presenta listas de tipos e implementaciones para varios patrones de diseño.

Nunca lo usé, pero leí el libro de Alexandrescu para comprender mejor las plantillas.

Ronny Brendel
fuente
12
ScopeGuard de Loki cambiará tu vida . Seriamente. Serás más fuerte, más rápido y más atractivo para el sexo opuesto.
j_random_hacker
5

CppUnit para pruebas unitarias y desarrollo dirigido por pruebas

Andrew Stein
fuente
0

Además de todas las excelentes bibliotecas ya enumeradas, encuentro que la combinación de xerces para XML (incluida la validación XSD) y xalan para XSLT es útil (xalan está construido sobre xerces). AFAIK ni QT ni POCO tienen funcionalidad XSLT (a menos que se haya agregado desde la última vez que los usé).

Ralf
fuente