Poco C++庫是:
- 一系列C++類庫,類似Java類庫,.Net框架,Apple的Cocoa;
- 側重于互聯(lián)網時代的網絡應用程序
- 使用高效的,現(xiàn)代的標準ANSI/ISO C++,并基于STL
- 高可移值性,并可在多個平臺下可用
- 開源,并使用Boost Software License發(fā)布
- 不管是否商用,都完全免費
- DynamicAny與Any類
- Cache框架
- 基于OpenSSL的密碼系統(tǒng)
- 日期,時間類庫
- 事件和通知框架
- FTP客戶端
- 跨平臺的文件系統(tǒng)類庫
- HTML表單類庫
- HTTP客戶端和服務端(支持SSL),C++ 服務器頁面編譯器
- 日志框架
- 多線程框架(線程池,活動對象,工作隊列等)
- POP3客戶端類庫
- 跨平臺,一次編寫,多平臺編譯和運行
- 進程管理和進程間通信類庫
- 反射框架
- 基于PCRE的正則表達式
- SMTP客戶端類庫
- 數(shù)據庫訪問類庫(SQLite,MySQL, ODBC)
- 支持SSL/TLS,基于OpenSSL
- 動態(tài)類庫加載
- 先進的內存和指針管理(Buffer, Pool)
- Socket類庫
- 網絡數(shù)據流類庫,支持Base64,HexBinary編解碼,壓縮等等
- 字符串格式化和其它字符串工具類庫
- TCP服務器框架(多線程)
- 文本編碼和轉換
- Tuples
- URI支持
- 支持UTF8和Unicode編碼
- UUID生成器
- XML生成和解析器
- Zip文件操作類庫
Poco的使命
- Poco是一個強大的類庫,并易于構建自己的應用程序
- Poco幫助你創(chuàng)建跨平臺的應用程序(一次編寫,多平臺編譯和運行)
- 模塊化和可擴展,可應用于嵌入式到企業(yè)級程序
- 提供全面,易懂的編程接口
- 使用C++語言,快速且高效
- Poco崇尚簡易
- 在設計,代碼風格和文檔上保持一致
- Poco強調代碼質量,包括可讀性,綜合性,一致性,編碼風格和可測試性
- Poco使得C++編程更加容易
指導方針
- 高度關注代碼質量,編碼風格,一致性,可讀性
- 高度關注測試
- 注重實用性
- 基于現(xiàn)有的,可靠的組件開發(fā)
- 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應用場景
- 創(chuàng)建自動化的中間件和設備
- 工業(yè)自動化和工業(yè)設備
- 流量控制系統(tǒng)
- 健康系統(tǒng)
- 測量,數(shù)據收集和測試系統(tǒng)
- 消費電子產品和家庭自動化產品
- 測量
- 航空交通管理系統(tǒng)
- VoIP
- 票務和入口控制系統(tǒng)
- 包裝應用程序
Poco的優(yōu)勢
- 全面的,完整的C++框架,可減少開發(fā)工作,快速讓產品走向市場
- 易學易使用,以及相當多的示例代碼和良好的文檔
- 原生的C++代碼,性能優(yōu)秀,低內存占用
- 平臺無關,一處編寫,跨平臺編譯和運行
- 大多數(shù)情況下,可以開發(fā)機上完成開發(fā)和調試工作
- 可以非常容易的遷移到新平臺
編譯
以 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:
在這里下載一個安裝包
http://slproweb.com/products/Win32OpenSSL.html
注意Light 是沒有開發(fā)包的. 有x64 和x32 之分, x32 在64位windows下也可以完全正常工作. 如果要編譯poco的話 我建議用x32.
不要下載d結尾的,d結尾的缺少部分dll,下載k結尾的例如Win32OpenSSL-1_0_2k.exemysql:
http://www.mysql.com/downloads/connector/c/
這個也有x32 和x64之分.一般下載x32的就可以了.
關于x32和x64 :
Poco 默認是x32的, 所以我們的 OpensSSL 和 Mysql 也必須使用 x32的.
posted on 2018-01-16 23:05
聶文龍 閱讀(2188)
評論(0) 編輯 收藏 引用