1. 程式人生 > >Poco介紹及編譯

Poco介紹及編譯

轉自:http://www.cnblogs.com/fuland/p/3768705.html

Poco C++庫是:

  • 一系列C++類庫,類似Java類庫,.Net框架,Apple的Cocoa;
  • 側重於網際網路時代的網路應用程式
  • 使用高效的,現代的標準ANSI/ISO C++,並基於STL
  • 高可移值性,並可在多個平臺下可用
  • 開源,並使用Boost Software License釋出
  • 不管是否商用,都完全免費

Poco庫概覽

特性:

  • DynamicAny與Any類
  • Cache框架
  • 基於OpenSSL的密碼系統
  • 日期,時間類庫
  • 事件和通知框架
  • FTP客戶端
  • 跨平臺的檔案系統類庫
  • HTML表單類庫
  • HTTP客戶端和服務端(支援SSL),C++ 伺服器頁面編譯器
  • 日誌框架
  • 多執行緒框架(執行緒池,活動物件,工作佇列等)
  • POP3客戶端類庫
  • 跨平臺,一次編寫,多平臺編譯和執行
  • 程序管理和程序間通訊類庫
  • 反射框架
  • 基於PCRE的正則表示式
  • SMTP客戶端類庫
  • 資料庫訪問類庫(SQLite,MySQL, ODBC)
  • 支援SSL/TLS,基於OpenSSL
  • 動態類庫載入
  • 先進的記憶體和指標管理(Buffer, Pool)
  • Socket類庫
  • 網路資料流類庫,支援Base64,HexBinary編解碼,壓縮等等
  • 字串格式化和其它字串工具類庫
  • TCP伺服器框架(多執行緒)
  • 文字編碼和轉換
  • Tuples
  • URI支援
  • 支援UTF8和Unicode編碼
  • UUID生成器
  • XML生成和解析器
  • Zip檔案操作類庫

Poco的使命

  • Poco是一個強大的類庫,並易於構建自己的應用程式
  • Poco幫助你建立跨平臺的應用程式(一次編寫,多平臺編譯和執行)
  • 模組化和可擴充套件,可應用於嵌入式到企業級程式
  • 提供全面,易懂的程式設計介面
  • 使用C++語言,快速且高效
  • Poco崇尚簡易
  • 在設計,程式碼風格和文件上保持一致
  • Poco強調程式碼質量,包括可讀性,綜合性,一致性,編碼風格和可測試性
  • Poco使得C++程式設計更加容易

指導方針

  • 高度關注程式碼質量,編碼風格,一致性,可讀性
  • 高度關注測試
  • 注重實用性
  • 基於現有的,可靠的元件開發

版本歷史

  • Summer 2004: Günter Obiltschnig started development
  • February 2005: First release on SourceForge
  • (Release 0.91 under Sleepycat license)
  • May 2005: First contributions by Aleksandar Fabijanic
  • January 2006: Release 1.0
  • March 2006: Release 1.1
  • July 2006: Moved to Boost license, POCO Community Website
  • August 2006: Release 1.2
  • May 2007: Release 1.3
  • July 2010: Stable Release 1.3.7,
  • about 20 contributors, used in 100s of projects

支援平臺

  • Microsoft Windows
  • Linux
  • Mac OS X
  • HP-UX, Solaris, AIX*
  • Embedded Linux (uClibc, glibc)
  • iOS
  • Windows Embedded CE
  • QNX

Poco應用場景

  • 建立自動化的中介軟體和裝置
  • 工業自動化和工業裝置
  • 流量控制系統
  • 健康系統
  • 測量,資料收集和測試系統
  • 消費電子產品和家庭自動化產品
  • 測量
  • 航空交通管理系統
  • VoIP
  • 票務和入口控制系統
  • 包裝應用程式

Poco的優勢

  • 全面的,完整的C++框架,可減少開發工作,快速讓產品走向市場
  • 易學易使用,以及相當多的示例程式碼和良好的文件
  • 原生的C++程式碼,效能優秀,低記憶體佔用
  • 平臺無關,一處編寫,跨平臺編譯和執行
    • 大多數情況下,可以開發機上完成開發和除錯工作
    • 可以非常容易的遷移到新平臺

編譯

以 vs2008 為例:

Poco 根目錄下有

build_vs90.cmd

buildwin.cmd

這兩個批處理檔案, 我們得修改一下它們

把build_vs90.cmd 修改為以下內容:

@echo off
if defined VS90COMNTOOLS (
call "%VS90COMNTOOLS%\vsvars32.bat")
buildwin 90 build all both Win32 samples

如果你不需要  NetSSL_OpenSSL 和 MySQL   ,此時儲存後就雙擊它就行了. 它會自動編譯好各種庫.

如果你要NetSSL_OpenSSL 這個庫 你必須:

在buildwin.cmd 中的38行 設定 openssl 的路徑, 它預設在C:\OpenSSL. 可以修改為 你的路徑.

如果你要 Poco 中的 MySQL 庫 你還得安裝. Mysql

關於  OpenSSL 和 Mysql  庫的的安裝包

OpenSSL:

在這裡下載一個安裝包

注意Light 是沒有開發包的. 有x64 和x32 之分,  x32 在64位windows下也可以完全正常工作. 如果要編譯poco的話 我建議用x32. 

不要下載d結尾的,d結尾的缺少部分dll,下載k結尾的例如Win32OpenSSL-1_0_2k.exe

mysql:

這個也有x32 和x64之分.一般下載x32的就可以了.

關於x32和x64 :

Poco 預設是x32的, 所以我們的 OpensSSL  和 Mysql 也必須使用 x32的.

http://blog.csdn.net/wangxvfeng101/article/details/47002375