POCO (Portable Components) C++ Libraries are:
- A collection of C++ class libraries, conceptually similar to the Java Class Library or the .NET Framework.
- Focused on solutions to frequently-encountered practical problems.
- Focused on "internet-age" network-centric applications.
- Written in efficient, modern, 100% ANSI/ISO Standard C++.
- Based on and complementing the C++ Standard Library/STL.
- Highly portable and available on many different platforms, from embedded to server.
- Open Source, licensed under the Boost Software License.
To start using POCO, see the Guided Tour and Getting Started documents.
Quick Start (with CMake)
Prerequisites
- CMake 3.5 or newer
- A C++14 compiler (Visual C++ 2015, GCC 5.0, Clang 3.4, or newer)
- OpenSSL headers and libraries (optional, but recommended; on macOS, via Homebrew:
brew install openssl)
Building
$ git clone -b master https://github.com/pocoproject/poco.git
$ cd poco
$ mkdir cmake-build
$ cd cmake-build
$ cmake .. && cmake --build .
You can also run:
$ sudo cmake --build . --target install
in the cmake-build directory to install POCO (default /usr/local on Linux or macOS).
If you do not want to or cannot use CMake, POCO can also be built with Visual Studio (project and solution files included) or GNU Make.
Please refer to the documentation for more information.
POCO can also be obtained via different package managers.
Community and Contributing
POCO has an active user and contributing community, please visit our website and blog. Answers to POCO-related questions can also be found on Stack Overflow.
Please see CONTRIBUTING for submitting contributions, bugs reports, feature requests or security issues.
POCO vs. Boost
In regards to Boost, in spite of some functional overlapping, POCO is best thought of as a Boost complement (rather than replacement). Side-by-side use of Boost and POCO is a very common occurrence.


