开源 C ++ 库的综合列表:
PS:开源不等于免费,部分开源库在商用的时候还是要注意下其开源协议
1、通用
Boost - 大量通用库
Dlib - 网络、线程、图形界面、数据结构、线性代数、机器学习、XML 和文本解析、数值优化、贝叶斯网络等(Boost 许可证)
JUCE - 广泛、成熟、跨平台的 C ++ 工具包(GPL 许可证)
Folly - Facebook 开源库
Abseil - 来自 Google C ++ 库代码的开源集合
cxxomfort - C ++ 的 Backports 功能
Ultimate++ - 跨平台的快速应用程序开发框架
CAF
Better Enums - 具有 constexpr 支持的反射枚举
Smart Enum - “to_string”,“from_string” 以及更多内容
2、通讯
libnavajo - 轻巧但功能强大的 API,包括用于 Web 和 RESTful 应用程序开发的 http 服务器,支持 SSL、身份验证、cookie 和会话管理,包括 Websocket 服务器支持
C++ RESTful framework- C ++ 微框架,旨在嵌入到广泛的应用程序中
CPR - 现代 C ++ HTTP请求库
cpp-netlib - C ++ 网络库
cpp-redis - C ++ 11 Lightweight Redis 客户端
tacopie - C ++ 11 TCP 库
Boost.Beast - 建立在 Boost.Asio 之上的 HTTP 和 WebSocket 库
gsoap - 用于 XML 数据绑定的 C / C ++ 开发工具包
omniORB - C ++ 中最快,最完整,最便携的 CORBA ORB 实现
Unicomm - 异步网络,高级 TCP 通信框架
zeromq - 快速消息队列
libashttp - 异步 HTTP客户端库
The Silicon C++14 Web Framework - 快速而强大的 Web API(MIT)
3、图形用户界面
Dear ImGui
FLTK
nana[doc] - 现代 C ++ 风格的 GUI 编程
OWLNext
Switch
GTK+
glibmm
gtkmm
goocanvasmm
libglademm
libgnomecanvasmm
webkitgtk
flowcanvas
evince
Qt
Qt [ src ] [ doc ]
qwt5
libdbusmenu-QT
QuickQanava - 用于在 Qt / QML 应用程序中绘制有向图的 C ++ 14 库
QuickProperties - 用于 QObject / QtObject 属性版的 C ++ / QML 库
4、通用多媒体
SFM - 简单快速多媒体库
SDL - 通过图形 API(通常为 OpenGL 或 Direct3D)跨平台访问音频、键盘、鼠标、操纵杆和图形硬件
SIGIL - 用于文本、形状、输入、音频和 2D 图像的跨平台库
Cinder
openFrameworks
5、图像
cairomm
nux
pangomm
gegl
stb
Adobe/boost GIL - 高级通用库,专注于对 2D 图像进行操作的算法
GraphicsMagick - 以超过 88 种格式读取、书写和操作图像。
Skia Graphics Engine - Google 的核心图形库
绘制
plotutils
格式
libraw
openexr
qimageblitz
imagemagick
djvulibre
poppler
SVG++
6、音频
soundtouch
KFR - 快速、现代的 DSP 架构,DFT / FFT,音频重采样,FIR / IIR 滤波器,Biquad
Aquila - 跨平台 DSP 库
7、图像处理
OpenCV
DLIB
ITK
OTB
8、视频
crystalhd
mjpegtools
libmatroska
libVLC
gstreamermm
9、3D 图形
Vulkan
OpenGL
bgfx - “自带引擎 / 框架” 样式渲染库
Ogre3D
Diligent Engine- 一个现代的跨平台低级 3D 图形库。
GLEW - OpenGL 函数加载
GLAD - 可自定义的轻量级库,用于加载 OpenGL 函数
Visionaray - C ++ 光线跟踪模板库
10、游戏引擎架构
EntityX
ANAX
EntityPlus
EnTT
Box2D - 物理引擎
11、数学
线性代数
Boost.uBLAS
Eigen
Armadillo
Blitz++
IT++
Dlib - linear algebra tools
Blaze
ETL
优化
OptimLib - 用于非线性函数的 C ++ 11 数值优化方法库。
12、机器学习
stats++
liblinear
Dlib - 机器学习工具
MLPACK - 机器学习包
Shogun - 大型机器学习工具箱
13、容器
Boost.Any
Boost.Array
Boost.Bimap
Boost.Container
Boost.Fusion
Boost.Heap
Boost.Pointer 容器
Boost.Tuple
Boost.Variant
14、数据库
OTL
DTL
libpqxx
lmdb ++ - 用于 LMDB 嵌入式 B + 树数据库库的 C ++ 11 包装器。
mongocxx - MongoDB 的 C ++ 11 驱动程序库
MySQL 的 ++
ODB - C ++ 对象关系映射(ORM)
Pgfe - PostGres FrontEnd - PostgreSQL 的现代 C ++ 客户端 API
15、测试
Boost.Test
cppunit
Google Test
Catch2
16、嵌入式 / 实时
QP / C ++ - RTOS 内核,双 GPL
FreeRTOS C ++ 处理程序 - 处理程序,循环器,状态机,CLI,便携式
ETL - 嵌入式模板库 - C ++ 03,为低资源平台量身定制的便携式模板库
distortos - 面向对象的 C ++ RTOS,用于微控制器
μcuREST - 用于微控制器的 C ++ 11 REST / JSON 服务器框架