Repolode
pocoproject

pocoproject/poco

HTTP、ネットワーク、データベース、XML/JSON、ログ機能を備えた、ネットワーク中心のアプリケーション構築向けクロスプラットフォームC++クラスライブラリ。

スター
9,489
フォーク
2,325
未解決の Issue
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、設定、ログ機能を網羅しており、同じプロジェクトでBoostと併用できる場合も多くあります。

主な機能

  • 01ネットワークアプリケーション向けのHTTPクライアントおよびサーバーコンポーネントを提供します。
  • 02SQLデータベースへのアクセスに加え、MongoDBおよびRedisクライアントを備えています。
  • 03JSONおよびXMLの解析、設定、ログ機能を提供します。
  • 04OpenSSLと、WindowsネイティブのSChannel TLSに対応しています。
  • 05CMakeでビルドでき、vcpkgまたはConanからインストールできます。
  • 06コンポーネントを選択してビルドし、バイナリサイズを削減できます。

ユースケース

  • デスクトップ、サーバー、組み込みLinux向けに、C++でHTTPサービスやクライアントを構築する。
  • C++アプリケーションからMySQL、PostgreSQL、またはODBCデータベースにアクセスする。
  • 既存のネットワーク対応製品に、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 とは?
HTTP、ネットワーク、データベース、XML/JSON、ログ機能を備えた、ネットワーク中心のアプリケーション構築向けクロスプラットフォームC++クラスライブラリ。 POCO(Portable Components)C++ Librariesは、よくある実用上の課題に対応するC++クラスライブラリ群で、インターネット時代のネットワーク中心のアプリケーションに重点を置いています。考え方としてはJava Class Libraryや.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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト