The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
Switch branches/tags
Clone or download
Pull request Compare This branch is 893 commits ahead, 2562 commits behind develop.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ApacheConnector ifdef auto_ptr Oct 25, 2017
CppParser Add android build on travis (#1981) Feb 27, 2018
CppUnit Add Gradle build scripts. Oct 31, 2017
Crypto regen project files Mar 7, 2018
Data Poco::Data::SQLite data types #703 Mar 6, 2018
Encodings Add android build on travis (#1981) Feb 27, 2018
Foundation fixes for WEC2013 Mar 7, 2018
JSON regen project files Mar 7, 2018
MongoDB Fix unit tests for android build Mar 4, 2018
Net added structure-data doc Mar 7, 2018
NetSSL_OpenSSL fix Windows openssl library pragmas Mar 7, 2018
NetSSL_Win Merge remote-tracking branch 'origin/poco-1.8.0' into poco-1.8.0 Oct 31, 2017
PDF Merge branch 'poco-1.9.0' of https://github.com/pocoproject/poco into… Mar 7, 2018
PageCompiler added PageCompiler.make Jan 8, 2018
PocoDoc PocoDoc fixes Nov 11, 2017
ProGen backport EVPPKey file/stream load/save capabilities Sep 20, 2017
Redis Fix unit tests for android build Mar 4, 2018
SevenZip remove duplicate files and remaining Id headers Nov 10, 2017
Util fixed GH #2058: Synchronization issue in Poco::Util::Timer at destruc… Mar 6, 2018
XML Add android build on travis (#1981) Feb 27, 2018
Zip fix for #2199: try to resync when encountering extra data after local… Mar 6, 2018
build build system: added target_extlibs variable Feb 21, 2018
cmake Add POCO_OS_ANDROID as platfrom definitons (#2186) Feb 27, 2018
contrib Moved contributed CMake modules to "cmake" folder Dec 16, 2012
doc update Acknowledgements Mar 7, 2018
gradle @ 73b6031 re-added gradle submodule Nov 10, 2017
openssl @ 46485b1 Update openssl submodule after a cleanup Apr 15, 2018
packaging Poco 1.8.1: fix typo for build.gradle (#2022) Dec 11, 2017
patches/AIX new trunk (base for 1.5) Apr 23, 2012
release add Encodings lib to release script Feb 14, 2018
travis Add android build on travis (#1981) Feb 27, 2018
.gitattributes Merge .gitattributes changes from develop branch Nov 11, 2012
.gitignore Add **/gradle/ Nov 11, 2017
.gitmodules update openssl module branch Mar 8, 2018
.travis.yml fix .travis.yml Mar 7, 2018
CHANGELOG updated CHANGELOG Mar 7, 2018
CMakeLists.txt fix message grammer Mar 7, 2018
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT.md Feb 9, 2018
CONTRIBUTING.md updated README and CONTRIBUTING Sep 13, 2016
CONTRIBUTORS remove duplicate files and remaining Id headers Nov 10, 2017
DLLVersion.rc bump version to 1.9.0 Feb 17, 2018
LICENSE LICENSE: add info about SPDX-License-Identifier usage and use it May 14, 2014
Makefile fix deps for PDF Mar 5, 2018
NEWS Remove \$Id`$ headers Sep 9, 2017
README updated README and getting started doc Nov 10, 2017
README.md Merge branch 'poco-1.9.0' Mar 8, 2018
VERSION bump version to 1.9.0 Feb 17, 2018
appveyor.yml fixed appveyor.yml Aug 28, 2016
build.gradle Poco 1.8.1: fix typo for build.gradle (#2022) Dec 11, 2017
build_CE_vs90.cmd new trunk (base for 1.5) Apr 23, 2012
build_cmake.cmd the great line endings cleanup Nov 11, 2012
build_cmake.sh added cmake support Jun 26, 2012
build_vcexpress2008.cmd "tests" are missing in build_vcexpress.cmd Feb 25, 2013
build_vcexpress2010.cmd "tests" are missing in build_vcexpress.cmd Feb 25, 2013
build_vs100.cmd some last minute changes Dec 27, 2012
build_vs110.cmd some last minute changes Dec 27, 2012
build_vs120.cmd added build_vs120.cmd (for consistency) Dec 15, 2014
build_vs140.cmd update build scripts for VS2015 Jul 31, 2015
build_vs150.cmd added support for Visual Studio 2017 Feb 20, 2017
build_vs90.cmd some last minute changes Dec 27, 2012
build_wdexpress2012.cmd Support Visual Studio Express 2012 for Windows Desktop Feb 25, 2013
build_wdexpress2013.cmd new build command for VS2013 Express Edition. Sep 7, 2014
buildwin.cmd Use proper x86_amd64 for build of x64 architecture Feb 9, 2018
buildwin.ps1 openssl VS projects modifications Jan 29, 2018
components added Encodings library Feb 14, 2018
configure remove duplicate files and remaining Id headers Nov 10, 2017
env.sh re-added MongoDB, improved buildwin and release scripts Jul 23, 2013
gradle.properties Add Gradle build scripts. Oct 31, 2017
libversion bump version to 1.9.0 Feb 17, 2018
settings.gradle Poco 1.9.0: Additional fixes for PDF and Encodings (#2169) Feb 18, 2018

README.md

alt text

Travis Build Status Build status CII Best Practices

POCO (Portable Components) C++ Libraries are:

  • A collection of C++ class libraries, conceptually similar to the Java Class Library, the .NET Framework or Apple’s Cocoa.
  • 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.

alt text


To start using POCO, see the Guided Tour and Getting Started documents.


POCO has an active user and contributing community, please visit our web site 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.


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.