Repolode
pocoproject

pocoproject/poco

Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование.

Звёзды
9,489
Форки
2,325
Открытые issues
154
Последний коммит
вчера

Что это?

POCO (Portable Components) C++ Libraries — это набор библиотек классов C++, предназначенных для решения часто встречающихся практических задач, прежде всего в интернет-приложениях с сетевой архитектурой. По своей концепции они похожи на Java Class Library или .NET Framework, но созданы на основе современного стандартного C++ и дополняют STL, а не заменяют её.

Библиотеки рассчитаны на широкий спектр платформ — от встраиваемых устройств до серверов — и распространяются по Boost Software License. Сборка выполняется с помощью CMake; дополнительные зависимости, такие как OpenSSL, MySQL, PostgreSQL и ODBC, позволяют включить защищённые соединения и доступ к базам данных. Компоненты можно собирать выборочно для устройств с ограниченными ресурсами.

Темы репозитория охватывают HTTP-клиент и сервер, сети, SQL и доступ к базам данных, клиенты MongoDB и Redis, JSON, XML, конфигурацию и логирование. Поэтому разработчики часто используют POCO вместе с Boost в одном проекте.

Ключевые возможности

  • 01Предоставляет компоненты HTTP-клиента и сервера для сетевых приложений.
  • 02Включает доступ к SQL-базам данных, а также клиенты MongoDB и Redis.
  • 03Предлагает средства для разбора JSON и XML, работы с конфигурацией и логирования.
  • 04Поддерживает OpenSSL и встроенный в Windows TLS-механизм SChannel.
  • 05Собирается с помощью CMake; установить библиотеку можно через vcpkg или Conan.
  • 06Позволяет собирать только нужные компоненты, чтобы уменьшить размер бинарного файла.

Сценарии использования

  • Создание HTTP-сервисов или клиентов на C++ для настольных систем, серверов или встраиваемых устройств под Linux.
  • Доступ к базам данных MySQL, PostgreSQL или ODBC из приложения на C++.
  • Добавление слоя логирования и конфигурации на C++ в существующий сетевой продукт.
  • Запуск одного и того же сетевого кода в Windows, Linux и macOS.

Быстрый старт

  1. 1

    Установить зависимости в Debian/Ubuntu

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

    Клонировать репозиторий

    git clone -b main https://github.com/pocoproject/poco.git
  3. 3

    Настроить сборку с помощью CMake

    cd poco && mkdir cmake-build && cd cmake-build && cmake ..
  4. 4

    Собрать библиотеки

    cmake --build . --config Release

Что важно знать

  • Требуется компилятор с поддержкой C++20 и CMake версии 3.26 или новее.
  • Для дополнительных функций базы данных и TLS требуются клиентские библиотеки, например OpenSSL, MySQL или PostgreSQL.

В подборках

Темы

Частые вопросы

Что такое poco?
Кроссплатформенные библиотеки классов C++ для сетевых приложений: HTTP, сети, базы данных, XML/JSON и логирование. POCO (Portable Components) C++ Libraries — это набор библиотек классов C++, предназначенных для решения часто встречающихся практических задач, прежде всего в интернет-приложениях с сетевой архитектурой. По своей концепции они похожи на Java Class Library или .NET Framework, но созданы на основе современного стандартного C++ и дополняют STL, а не заменяют её.
poco можно использовать бесплатно? Какая у него лицензия?
poco распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
poco всё ещё поддерживается?
Активно поддерживается. Последний коммит в poco — 23 окт. 2026 г..
Для чего можно использовать poco?
Создание HTTP-сервисов или клиентов на C++ для настольных систем, серверов или встраиваемых устройств под Linux. Доступ к базам данных MySQL, PostgreSQL или ODBC из приложения на C++. Добавление слоя логирования и конфигурации на 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Лёгкая базовая библиотека на C++: корутины в стиле goroutine, сетевые компоненты, логирование, разбор флагов, JSON, модульное тестирование и бенчмарки.

4,2 тыс.593C++OtherОбновлён 27 дней назад