轉(zhuǎn)自:http://www.cnblogs.com/fuland/p/3768705.html
Poco C++庫(kù)是:
一系列C++類(lèi)庫(kù),類(lèi)似java類(lèi)庫(kù),.Net框架,Apple的Cocoa;側(cè)重于互聯(lián)網(wǎng)時(shí)代的網(wǎng)絡(luò)應(yīng)用程序使用高效的,現(xiàn)代的標(biāo)準(zhǔn)ANSI/ISO C++,并基于STL高可移值性,并可在多個(gè)平臺(tái)下可用開(kāi)源,并使用Boost Software License發(fā)布不管是否商用,都完全免費(fèi)Poco庫(kù)概覽
特性:
DynamicAny與Any類(lèi)Cache框架基于OpenSSL的密碼系統(tǒng)日期,時(shí)間類(lèi)庫(kù)事件和通知框架FTP客戶(hù)端跨平臺(tái)的文件系統(tǒng)類(lèi)庫(kù)HTML表單類(lèi)庫(kù)HTTP客戶(hù)端和服務(wù)端(支持SSL),C++ 服務(wù)器頁(yè)面編譯器日志框架多線程框架(線程池,活動(dòng)對(duì)象,工作隊(duì)列等)POP3客戶(hù)端類(lèi)庫(kù)跨平臺(tái),一次編寫(xiě),多平臺(tái)編譯和運(yùn)行進(jìn)程管理和進(jìn)程間通信類(lèi)庫(kù)反射框架基于PCRE的正則表達(dá)式SMTP客戶(hù)端類(lèi)庫(kù)數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)庫(kù)(SQLite,MySQL, ODBC)支持SSL/TLS,基于OpenSSL動(dòng)態(tài)類(lèi)庫(kù)加載先進(jìn)的內(nèi)存和指針管理(Buffer, Pool)Socket類(lèi)庫(kù)網(wǎng)絡(luò)數(shù)據(jù)流類(lèi)庫(kù),支持Base64,HexBinary編解碼,壓縮等等字符串格式化和其它字符串工具類(lèi)庫(kù)TCP服務(wù)器框架(多線程)文本編碼和轉(zhuǎn)換TuplesURI支持支持UTF8和Unicode編碼UUID生成器xml生成和解析器Zip文件操作類(lèi)庫(kù)Poco的使命
Poco是一個(gè)強(qiáng)大的類(lèi)庫(kù),并易于構(gòu)建自己的應(yīng)用程序Poco幫助你創(chuàng)建跨平臺(tái)的應(yīng)用程序(一次編寫(xiě),多平臺(tái)編譯和運(yùn)行)模塊化和可擴(kuò)展,可應(yīng)用于嵌入式到企業(yè)級(jí)程序提供全面,易懂的編程接口使用C++語(yǔ)言,快速且高效Poco崇尚簡(jiǎn)易在設(shè)計(jì),代碼風(fēng)格和文檔上保持一致Poco強(qiáng)調(diào)代碼質(zhì)量,包括可讀性,綜合性,一致性,編碼風(fēng)格和可測(cè)試性Poco使得C++編程更加容易指導(dǎo)方針
高度關(guān)注代碼質(zhì)量,編碼風(fēng)格,一致性,可讀性高度關(guān)注測(cè)試注重實(shí)用性基于現(xiàn)有的,可靠的組件開(kāi)發(fā)版本歷史
Summer 2004: Günter Obiltschnig started developmentFebruary 2005: First release on SourceForge(Release 0.91 under Sleepycat license)May 2005: First contributions by Aleksandar FabijanicJanuary 2006: Release 1.0March 2006: Release 1.1July 2006: Moved to Boost license, POCO Community WebsiteAugust 2006: Release 1.2May 2007: Release 1.3July 2010: Stable Release 1.3.7,about 20 contributors, used in 100s of PRojects支持平臺(tái)
Microsoft WindowslinuxMac OS XHP-UX, Solaris, AIX*Embedded Linux (uClibc, glibc)iOSWindows Embedded CEQNXPoco應(yīng)用場(chǎng)景
創(chuàng)建自動(dòng)化的中間件和設(shè)備工業(yè)自動(dòng)化和工業(yè)設(shè)備流量控制系統(tǒng)健康系統(tǒng)測(cè)量,數(shù)據(jù)收集和測(cè)試系統(tǒng)消費(fèi)電子產(chǎn)品和家庭自動(dòng)化產(chǎn)品測(cè)量航空交通管理系統(tǒng)VoIP票務(wù)和入口控制系統(tǒng)包裝應(yīng)用程序Poco的優(yōu)勢(shì)
全面的,完整的C++框架,可減少開(kāi)發(fā)工作,快速讓產(chǎn)品走向市場(chǎng)易學(xué)易使用,以及相當(dāng)多的示例代碼和良好的文檔原生的C++代碼,性能優(yōu)秀,低內(nèi)存占用平臺(tái)無(wú)關(guān),一處編寫(xiě),跨平臺(tái)編譯和運(yùn)行大多數(shù)情況下,可以開(kāi)發(fā)機(jī)上完成開(kāi)發(fā)和調(diào)試工作可以非常容易的遷移到新平臺(tái)
編譯
以 vs2008 為例:
Poco 根目錄下有
build_vs90.cmd
buildwin.cmd
這兩個(gè)批處理文件, 我們得修改一下它們
把build_vs90.cmd 修改為以下內(nèi)容:
@echo offif defined VS90COMNTOOLS (call "%VS90COMNTOOLS%/vsvars32.bat")buildwin 90 build all both Win32 samples
如果你不需要 NetSSL_OpenSSL 和 MySQL ,此時(shí)保存后就雙擊它就行了. 它會(huì)自動(dòng)編譯好各種庫(kù).
如果你要NetSSL_OpenSSL 這個(gè)庫(kù) 你必須:
在buildwin.cmd 中的38行 設(shè)置 openssl 的路徑, 它默認(rèn)在C:/OpenSSL. 可以修改為 你的路徑.
如果你要 Poco 中的 MySQL 庫(kù) 你還得安裝. Mysql
關(guān)于 OpenSSL 和 Mysql 庫(kù)的的安裝包
OpenSSL:
在這里下載一個(gè)安裝包
http://slproweb.com/products/Win32OpenSSL.html
注意Light 是沒(méi)有開(kāi)發(fā)包的. 有x64 和x32 之分, x32 在64位windows下也可以完全正常工作. 如果要編譯poco的話 我建議用x32.
不要下載d結(jié)尾的,d結(jié)尾的缺少部分dll,下載k結(jié)尾的例如Win32OpenSSL-1_0_2k.exemysql:
http://www.mysql.com/downloads/connector/c/
這個(gè)也有x32 和x64之分.一般下載x32的就可以了.
關(guān)于x32和x64 :
Poco 默認(rèn)是x32的, 所以我們的 OpensSSL 和 Mysql 也必須使用 x32的.
http://blog.csdn.net/wangxvfeng101/article/details/47002375