官網下載poco庫:https://pocoproject.org
我選擇的是完整版,因為我需要SSL
下載後自己編譯成自己需要的類型庫(動態還是靜態,哪個版本,debug或者release)
編譯指令碼在build_vs120.cmd裡,自己看自己版本選擇那個方式編譯,我選擇的是120,我編譯為static_mt,release版本庫,修改自己的指令檔,參數選擇在buildwin.cmd指令碼中
指令碼修改後開啟vs中的命令列工具,我選擇的是開發人員命令提示(看你編譯成什麼版本),切換到指令檔的目錄輸入buildwin 120編譯
等待編譯成功,如果有組件的記得把組件放進去一起編譯,否則會報打不開組件的錯誤等,如果你不需要組件而選擇了完整版可以不用管他,因為這是編譯組件的庫不成功,其他基本的庫成功就可以了,成功後有lib和bin目錄
注意:每個庫會有兩個相同的庫檔案,一個多了d,如下圖,這多了d的是debug編譯時間使用,沒有d的release編譯使用
測試環境是否編譯成功:把標頭檔(工程屬性——c/c++——常規——附加元件封裝含目錄)和庫的路徑(工程屬性——連結器——常規——附加庫目錄)載入好,把bin裡面代碼需要的庫載入進debug(當前工程同一級的ddebug)目錄下
我需要是PocoFoundationd.dll,因為我是debug版本所以選有d的dll
測試代碼如下:
#include <Poco/DateTime.h>#include <Poco/DateTimeFormat.h>#include <iostream>using Poco::DateTime;using Poco::DateTimeFormat;int main(int argc, char** argv){DateTime now;std::cout << "Today is "<< DateTimeFormat::WEEKDAY_NAMES[now.dayOfWeek()] << ", "<< DateTimeFormat::MONTH_NAMES[now.month() - 1] << " "<< now.day() << " - "<< "day number "<< now.dayOfYear()<< " in "<< now.year()<< " and day number "<< (long)now.julianDay()<< " in the Julian calendar." << std::endl;system("pause");return 0;}
運行成功: