Какие современные библиотеки С++ должны быть в моем наборе инструментов?

Я был вне игры С++ около 10 лет, и я хочу вернуться и начать с коммерческого приложения. Какие библиотеки используются в наши дни?

  • Пользовательский интерфейс (например, wxWidgets, Qt)
  • База данных
  • Общее назначение (например Boost, Loki, STL)
  • Threading
  • Тестирование
  • Сеть/сокеты

Я ищу кросс-платформенную совместимость (как можно больше из коробки).

В каких библиотеках вы полагаетесь? Какие функции они обеспечивают, что делает их "незаменимыми"?

См. мой ответ ниже для сводки.

Ответ 1

Кросс-платформенные библиотеки, которые бесплатны для коммерческих (или некоммерческих) приложений

Не стесняйтесь расширять этот список


  • Общая цель
  • Boost
  • Loki
  • MiLi
  • POCO
  • STL (конечно)
  • STXXL (повторная реализация STL для сверхбольших наборов данных)
  • Qt
  • ASL
  • JUCE


Ссылки на дополнительные списки библиотек С++ с открытым кодом:

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

Ответ 3

В Windows...

ATL для разработки COM WTL для пользовательского интерфейса

Ответ 4

CGAL - отличная библиотека С++ для вычислительной геометрии

www.cgal.org

Ответ 5

http://loki-lib.sourceforge.net/ также может быть хорошим дополнением.

Это другая библиотека шаблонов, в которой представлены списки типов и реализации для различных шаблонов проектирования.

Я никогда не использовал его, но я читал книгу Александреску, чтобы лучше понять шаблоны.

Ответ 6

CppUnit для модульного тестирования и разработки, основанной на тестах

Ответ 7

Помимо всех замечательных библиотек, которые уже были перечислены, я считаю, что полезно использовать сочетание xerces для XML (включая проверку XSD) и xalan для XSLT (xalan построен поверх xerces). AFAIK ни QT, ни POCO не имеют функциональность XSLT (если только она не была добавлена ​​с тех пор, как я в последний раз их использовал).