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


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

  • Interfaz de usuario (por ejemplo, wxWidgets, Qt )
  • Base de datos
  • Propósito general (por ejemplo, Impulso, Loki , STL)
  • Roscado
  • Pruebas
  • Red / sockets

Busco ser compatible multiplataforma (tanto como sea posible fuera de la caja).

¿Qué bibliotecas en las que confías? ¿Qué características proporcionan que los hacen "indispensables"?

Véase mi respuesta para un resumen.

 174
c++
Author: Ryan Emerle, 2009-04-22

7 answers

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

 174
Author: JBentley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-01 09:31:08

Lo siento por repetir algunas de las cosas ya escritas, pero:

(Al menos deberías empezar)

 28
Author: rjnilsson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-07 06:56:58

En Windows...

ATL para el desarrollo COM WTL para interfaz de usuario

 11
Author: FrodoH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 17:55:41

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

Www.cgal.org

 9
Author: yang-qu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-28 07:55:56

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

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

Nunca lo usé, pero leí el libro de Alexandrescu para obtener una mejor comprensión de las plantillas.

 8
Author: Ronny Brendel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 15:52:55

CppUnit para pruebas unitarias y desarrollo impulsado por pruebas

 5
Author: Andrew Stein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-22 15:33:45

Además de todas las grandes bibliotecas ya listadas, encuentro útil la combinación de xerces para XML (incluida la validación XSD) y xalan para XSLT (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é).

 0
Author: Ralf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-24 11:41:43