官网下载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;
}
运行成功: