pocoproject/poco
面向网络应用的跨平台 C++ 类库,涵盖 HTTP、网络通信、数据库、XML/JSON 和日志等常用功能。
- Star
- 9,489
- Fork
- 2,325
- 未关闭 Issue
- 154
- 最近提交
- 昨天
这是什么?
POCO(Portable Components)C++ 类库是一组面向网络化应用的 C++ 类库,专门解决开发中常见的实际问题。它的设计思路接近 Java 类库或 .NET Framework,但基于现代标准 C++ 编写,与 STL 配合使用而非替代。
类库可运行在从嵌入式设备到服务器的多种平台上,采用 Boost Software License 开源。项目使用 CMake 构建,可选依赖 OpenSSL、MySQL、PostgreSQL、ODBC 等,用于安全连接和数据库访问。在对体积有要求的场景下,可以只编译所需组件。
项目覆盖 HTTP 客户端与服务端、网络通信、SQL 数据库访问、MongoDB 和 Redis 客户端、JSON、XML、配置与日志等功能,通常可以与 Boost 在同一项目中并用。
核心功能
- 01提供 HTTP 客户端与服务端组件,用于网络应用开发。
- 02支持 SQL 数据库访问,并提供 MongoDB 和 Redis 客户端。
- 03包含 JSON、XML 解析以及配置和日志工具。
- 04支持 OpenSSL,Windows 上也可使用原生 SChannel TLS。
- 05使用 CMake 构建,可通过 vcpkg 或 Conan 安装。
- 06可按需编译组件,减小二进制体积。
适用场景
- 在桌面、服务器或嵌入式 Linux 上用 C++ 开发 HTTP 服务或客户端。
- 从 C++ 应用访问 MySQL、PostgreSQL 或 ODBC 数据库。
- 为现有网络产品补充 C++ 日志和配置模块。
- 在 Windows、Linux 和 macOS 上运行同一套网络代码。
快速上手
- 1
在 Debian/Ubuntu 上安装依赖
sudo apt-get -y update && sudo apt-get -y install git g++ cmake libssl-dev libmysqlclient-dev libpq-dev - 2
克隆仓库
git clone -b main https://github.com/pocoproject/poco.git - 3
使用 CMake 配置构建
cd poco && mkdir cmake-build && cd cmake-build && cmake .. - 4
编译库
cmake --build . --config Release
使用前须知
- 需要支持 C++20 的编译器以及 CMake 3.26 或更新版本。
- 可选的数据库和 TLS 功能需要额外的客户端库,例如 OpenSSL、MySQL 或 PostgreSQL。
收录于专题
标签
常见问题
- poco 是什么?
- 面向网络应用的跨平台 C++ 类库,涵盖 HTTP、网络通信、数据库、XML/JSON 和日志等常用功能。 POCO(Portable Components)C++ 类库是一组面向网络化应用的 C++ 类库,专门解决开发中常见的实际问题。它的设计思路接近 Java 类库或 .NET Framework,但基于现代标准 C++ 编写,与 STL 配合使用而非替代。
- poco 可以免费使用吗?用的什么许可证?
- poco 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- poco 还在维护吗?
- 活跃维护中。poco 最近一次提交是在 2026年10月23日。
- poco 适合用来做什么?
- 在桌面、服务器或嵌入式 Linux 上用 C++ 开发 HTTP 服务或客户端。 从 C++ 应用访问 MySQL、PostgreSQL 或 ODBC 数据库。 为现有网络产品补充 C++ 日志和配置模块。 在 Windows、Linux 和 macOS 上运行同一套网络代码。
- poco 怎么安装和运行?
- 在 Debian/Ubuntu 上安装依赖: sudo apt-get -y update && sudo apt-get -y install git g++ cmake libssl-dev libmysqlclient-dev libpq-dev 克隆仓库: git clone -b main https://github.com/pocoproject/poco.git 使用 CMake 配置构建: cd poco && mkdir cmake-build && cd cmake-build && cmake .. 编译库: cmake --build . --config Release
- 在哪里获取 poco?
- 源代码和安装说明在 GitHub 上:https://github.com/pocoproject/poco
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个轻量的 C++ 基础库,集成 goroutine 风格协程、网络、日志、命令行参数、JSON、单元测试与基准测试。
4225593C++Other更新于 27天前
开源 JSON 编辑器,可将 JSON、YAML、CSV、XML 转为可交互的图形。
4.5万+6 本周3577TypeScriptApache-2.0更新于 上个月
为 PHP 提供事件驱动网络引擎与协程运行时的扩展,用于构建长驻的 TCP、UDP、HTTP 和 WebSocket 服务。
1.9万3147C++Apache-2.0更新于 13小时前
搜狗开源的 C++ 并行计算与异步网络框架,用于构建基于 DAG 的任务流。
1.4万2551C++Apache-2.0更新于 3天前
一个简洁易用的 Python HTTP 库,用于便捷地发送 HTTP/1.1 请求。
5.5万+7 本周1.3万PythonApache-2.0更新于 27天前