poco

poco

功能丰富的便携式 C++ 组件库

POCO (Portable Components) 是一套功能丰富的 C++ 类库集合,专注于网络中心应用程序开发。该项目提供高效、现代的标准 C++ 实现,支持从嵌入式设备到服务器的多种平台。POCO 补充了 C++ 标准库,采用开源 Boost 软件许可。它为开发者提供实用解决方案,有助于构建高性能、跨平台的应用程序。

POCOC++库网络应用跨平台开源Github开源项目

替代文本

poco-ci CII最佳实践

POCO(便携式组件)C++库是:

  • 一个C++类库集合,在概念上类似于Java类库或.NET框架。
  • 专注于解决常见实际问题。
  • 专注于"互联网时代"的网络中心应用程序。
  • 使用高效、现代、100%符合ANSI/ISO标准的C++编写。
  • 基于并补充C++标准库/STL。
  • 高度可移植,适用于从嵌入式到服务器的多种不同平台。
  • 开源,采用Boost软件许可证

替代文本

要开始使用POCO,请参阅引导教程入门指南文档。

快速入门(使用CMake)

先决条件

  • CMake 3.5或更高版本
  • 支持C++17的编译器(Visual C++ 2017、GCC 8.0、Clang 5或更新版本)
  • OpenSSL头文件和库(可选,但推荐)
  • MySQL、PostgreSQL和ODBC客户端库(可选)

大多数Unix/Linux系统已预装OpenSSL。如果您的系统没有OpenSSL,请从https://www.openssl.org或其他来源获取。您无需自行构建OpenSSL - 二进制发行版即可。例如,通过Debian APT:

$ apt-get install openssl libssl-dev

在macOS上,安装OpenSSL最简单的方法是通过Homebrew

$ brew install openssl

在Windows上安装OpenSSL最简单的方法是使用二进制(预构建)版本,例如来自Shining Light Productions的Windows安装程序。OpenSSL也可以通过vcpkg包管理器安装。

在Windows上,POCO也可以使用原生Windows TLS API(SChannel)。

安装所有依赖项(Linux和macOS)

所有依赖项可以通过以下命令安装:

Debian Linux(包括Ubuntu和Raspbian)

$ sudo apt-get -y update && sudo apt-get -y install git g++ make cmake libssl-dev libmysqlclient-dev libpq-dev

RedHat Linux

$ sudo yum install -y git gcc-c++ make cmake3 openssl-devel mysql-devel postgresql-devel 

macOS(使用Homebrew)

$ brew install cmake openssl mysql-client libpq

使用CMake构建(Linux、macOS、Windows)

CMake(3.5版或更高版本)是推荐用于构建POCO C++库的构建系统。

$ git clone -b main https://github.com/pocoproject/poco.git
$ cd poco
$ mkdir cmake-build
$ cd cmake-build
$ cmake ..
$ cmake --build . --config Release

在macOS上,需要通过设置OPENSSL_ROOT_DIR CMake变量来告诉CMake在哪里找到OpenSSL头文件和库。例如,如果OpenSSL是通过Homebrew安装的,cmake调用变为:

$ cmake .. -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@3

类似地,可以指定其他外部库的位置:

$ cmake .. -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@3 -DMYSQL_ROOT_DIR=/opt/homebrew/opt/mysql-client -DPostgreSQL_ROOT_DIR=/opt/homebrew/opt/libpq

其他常见的CMake构建方式(如cmake-gui)也可以使用。

还有一些项目特定的CMake变量可以更改。

交叉编译

通过适当的CMake工具链文件(通过CMAKE_TOOLCHAIN_FILE CMake变量指定),POCO C++库可以交叉编译用于嵌入式Linux系统:

$ cmake .. -DCMAKE_TOOLCHAIN_FILE=/path/to/mytoolchain.cmake -DCMAKE_INSTALL_PREFIX=/path/to/target

安装

POCO C++库的头文件和库可以选择通过构建install目标来安装。

$ sudo cmake --build . --target install

默认安装位置在Linux和macOS上是/usr/local/,在Windows上是C:\Program Files (x64)\,可以通过设置CMAKE_INSTALL_PREFIX CMake变量来覆盖。

构建和安装 - 使用vcpkg

您可以使用vcpkg依赖管理器下载和安装poco:

$ git clone https://github.com/Microsoft/vcpkg.git
$ cd vcpkg
$ ./bootstrap-vcpkg.sh
$ ./vcpkg integrate install
$ ./vcpkg install poco

vcpkg中的poco端口由Microsoft团队成员和社区贡献者保持更新。如果版本过时,请在vcpkg仓库上创建问题或拉取请求

构建和安装 - 使用Conan

您可以使用Conan(https://github.com/conan-io/conan)包管理器下载和安装poco。首先需要安装Conan(https://conan.io/downloads.html):

您可以从Conan Center(https://conan.io/center.html)安装Poco库:

$ conan install -r conancenter poco/1.12.0@

或者,您可以下载Poco配方并在本地构建:

$ conan install -r conancenter poco/1.12.0@ --build=poco

Conan Center中的Poco配方和包由Conan团队成员和社区贡献者保持更新。如果版本过时,或者您发现任何错误行为,请在Conan Center Index仓库上创建问题或拉取请求(https://github.com/conan-io/conan-center-index)。

不使用CMake构建

如果您不想或无法使用CMake,POCO也可以使用Visual Studio(包含项目和解决方案文件)或GNU Make(Linux、macOS和其他支持的Unix平台)构建。

请参阅文档以获取更多信息。

通过包管理器获取POCO

POCO也可以通过不同的包管理器获得。

社区和贡献

POCO拥有活跃的用户和贡献社区,请访问我们的网站博客。POCO相关问题的答案也可以在Stack Overflow上找到。

请参阅CONTRIBUTING以提交贡献、错误报告、功能请求或安全问题。

POCO vs. Boost

关于Boost,尽管有一些功能重叠,POCO最好被视为Boost的补充(而不是替代)。并排使用Boost和POCO是非常常见的情况。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多