什么现代的C + +库应该在我的工具箱?

我已经离开了C ++游戏大约10年了,我想重新开始一个商业应用程序。 目前使用哪些图书馆?

  • 用户界面(例如, wxWidgets , Qt )
  • 数据库
  • 通用(如Boost , Loki ,STL)
  • 穿线
  • testing
  • networking/sockets

我期待跨平台兼容(尽可能的开箱即用)。

你依靠什么库? 他们提供什么function,使他们“不可或缺”

请参阅下面的答案以获得总结。

适用于商业(或非商业)应用程序的跨平台库

随意扩大这个名单


  • 一般用途
  • 促进
  • 洛基
  • MiLi品牌
  • POCO
  • STL (当然)
  • STXXL (STL重新实现超大型数据集)
  • Qt的
  • ASL
  • JUCE

  • audio
    • FMOD
    • 综合工具包
  • 数据库
    • SOCI
    • OTL
    • LMDB ++
  • devise
    • IoC框架
      • 皮下注射
      • PocoCapsule
      • 沃拉鲁
  • 文件
    • LibreOffice API
    • PoDoFo
  • 图像
    • 快板
    • OGRE
    • SFML
  • GUI
    • FLTK
    • GTK
    • Qt的
    • QWT
    • wxWidgets的
    • VTK
  • 哈希
    • MurmurHash3
  • 成像
    • Boost.GIL
    • CIMG
    • 魔鬼
    • EasyBMP
    • FreeImage的
    • ITK
    • OpenCV的
  • logging
    • Boost.Log
    • log4cxx
    • Pantheios
  • 惩戒
    • Google Mock
    • 河马嘲笑
    • Turtle (用于Boost的C ++模拟对象库)
  • 多媒体
    • openframework
    • 煤渣
    • SDL
  • 联网
    • 高手
    • Boost.Asio的
  • testing
    • 如Boost.Test
    • Googletesting
    • unit testing++
    • 文档testing
  • 穿线
    • Boost.Thread
  • 版本控制
    • libgit2
  • Web应用程序框架
    • CppCMS
    • 重量
  • XML
    • libxml2的
    • pugixml
    • RapidXml
    • TinyXML的
    • 的Xerces-C ++

链接到开源C ++库的其他列表:

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

对不起,重复一些已经写好的东西,但是:

  • UI: Qt
  • 数据库: SOCI
  • 通用: Boost , Loki , STLSoft图书馆 , ASL
  • 线程: Boost.Thread
  • testing: Boost.Test
  • 构build工具: Boost.Build , SCons

(至less应该让你开始)

在Windows上…

用于COM开发的ATL用于用户界面的WTL

CGAL是一个优秀的计算几何c ++库

http://www.cgal.org

http://loki-lib.sourceforge.net/也可能是很好的补充。;

这是另外一个模板库,它引入了types列表,以及各种devise模式的实现。

我从来没有使用它,但我读了Alexandrescu的书来更好地理解模板。

CppUnit进行unit testing和testing驱动开发

除了已经列出的所有优秀的库之外,我发现xerces for XML(包括XSDvalidation)和xalan for XSLT是有用的(xalanbuild立在xerces之上)。 AFAIK QT或POCO都不具有XSLTfunction(除非自上次使用它们之后才添加)。