Poco C++是一个C++的开源框架,详细介绍可以问百度介绍更详细,这里我就记录下我从零编译poco-1.9.0和配置 VS2015的环境,以备不时之需。

步骤:
一、安装cmake;
二、编译poco-1.9.0;
三、将编译后的poco-1.9.0配置到VS2015的项目中;
四、示例简单示例。

安装cmake
我的电脑环境:
win7 64位;
cmake-3.12.1-win64-x64(官网下载:点击我下载cmake)。
安装cmake按常规安装即可,但是记得勾选:

这个主要是为了防止电脑登录其他用户没有cmake,建议把CMake加到系统PATH中。其他的下一步即可。
关于cmka GUI和命令行的用法(下面会配置PocoC++使用命令行用法),也可以自行百度。

编译Poco C++
前提条件:
1)Poco C++源码(官网下载:点击我下载);
2)已经安装VS2015;
3)已经安装cmake。

编译poco c++(poco-1.9.0.zip、Visual Studio 2015)
1)用windows的命令行转到poco-1.9.0文件夹,即源码目录。
2)执行下面命令(命令最后一句的”..”切记不可遗漏了哦):

mkdir cmake_build_x64
cd cmake_build_x64
cmake -G “Visual Studio 14 2015 Win64” ..

3)然后进入make_build_x64 文件夹里面,用 Visual Studio 2015 打开 Poco.sln,用VS编译 POCO C++ Libraries 的动态链接库 ,建议同时编译debug和release版本(跟普通的编译VS工程一样,即按快捷键F7即可),至此PocoC++编译完成了,在目录cmake_build_x64文件夹下面的的 bin、lib 子目录中,就是我们最终得到的动态链接库等文件。

poco-1.9.0配置到VS2015的项目中
1)在源码目录下新建v1.9.0_compact_MSVC文件夹,如我的:

D:\poco\poco-1.9.0\v1.9.0_compact_MSVC

然后设置系统环境变量指向POCO_ROOT,即点击“”我的电脑“–》右击“属性”–》高级系统设置–》环境变量–》点击系统环境变量下面的“新建”按钮,填写:

2)将所有的 include下面文件夹集中在 %POCO_ROOT%\include 目录中,如我的D:\poco\poco-1.9.0\Foundation\include\Poco文件下面的东西拷贝D:\poco\poco-1.9.0\v1.9.0_compact_MSVC\include\Poco下面。同理D:\poco\poco-1.9.0\Encodings\include\Poco同样处理(你会留意到有Encodings Foundation JSON Net Util XML这些文件夹下面\include\Poco下面的文件及文件夹需要这样处理)。这样做主要是为包含头文件方便些,最终处理完如下图所示:

3)在v1.9.0_compact_MSVC文件夹下面建立build/x64文件夹,将编译得到的 bin、lib 文件夹都收集到build/x64下,如下图:

4)在VS工程连接动态库和头文件:
a.右击你的VS工程,点击“属性”–》C/C++–》常规–》添加包含目录,输入:

$(POCO_ROOT)\include

b.点击“属性”–》连接器–》附加库目录,输入:

D:\poco\poco-1.9.0\v1.9.0_compact_MSVC\build\x64\lib\Debug
D:\poco\poco-1.9.0\v1.9.0_compact_MSVC\build\x64\bin\Debug

c.点击“属性”–》连接器–》输入–》附加依赖项。
针对Debug,输入:

PocoEncodingsd.lib
PocoFoundationd.lib
PocoJSONd.lib
PocoNetd.lib
PocoUtild.lib

针对Release输入:

PocoEncodings.lib
PocoFoundation.lib
PocoJSON.lib
PocoNet.lib
PocoUtil.lib
PocoXML.lib

4)将对应库配置到编译输出目录。“属性”–》生成事件–》命名行,输入:

copy “(POCOROOT)\build$(Platform)\bin$(Configuration)\*.∗"(POCOROOT)\build$(Platform)\bin$(Configuration)\*.∗"(TargetDir)

pooc c++使用简单示例代码:
#include <iostream>
#include "Poco\Timer.h"
#include "Poco\Thread.h"
using Poco::Timer;
using Poco::Thread;
using Poco::TimerCallback;
using namespace std;

class TimerExample
{
public:
void onTimer(Poco::Timer &timer)
{
cout << "func : " << __FUNCTION__ << endl;
}
};

int main(int argc, char** argv)
{
TimerExample te;
Timer timer(2000, 1000);
timer.start(TimerCallback<TimerExample>(te, &TimerExample::onTimer));
Thread::sleep(5000);
timer.stop();
return 0;
}

已上是我今天编译poco c++、配置VS2015工程环境、简单使用的总结笔记,如有不当之处,还请大侠多多指教哦~

from:https://blog.csdn.net/u013421892/article/details/82467086

从零开始编译Poco C++和VS2015环境配置的更多相关文章

  1. OpenCV3.2 + VS2015环境配置

    一.准备工作: (1)   到OpenCV的官网(http://opencv.org/)下载OpenCV3.2 (2)   安装好VS2015. (3)   计算机系统:Win7(Win8, Win1 ...

  2. cocos IDE 编译lua 游戏程序的环境配置

    因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...

  3. vscode 编译调试c/c++的环境配置

    首先看了一下别人写的文章 http://blog.csdn.net/c_duoduo/article/details/51615381 在按照上文链接博主的安装步骤进行到MINGW的安装时出现一个问题 ...

  4. 从零开始学Java (一)环境配置

    1.下载jdk Oracle官网 2.配置环境变量 JAVA_HOME:指明JDK安装路径,如C:\Program Files\Java\jdk1.7.0Path:变量中添加 %JAVA_HOME%\ ...

  5. VS2015环境配置: VS2015 未能正确加载“ResourceManagerPackage”包的问题

    启动vs2015专业版时,出现类似于这样的提示框,有好几个,点击是或否,但下次打开还是会出现.笔者也寻找了网上的一些解决办法,例如用vs命令窗口或其他,但都无疾而终,下面提供的这个办法,顺利解决此问题 ...

  6. NetFPGA-1G-CML从零开始环境配置

    NetFPGA-1G-CML从零开始环境配置 前言 偶得一块NetFPGA-1G-CML,跟着github对NetFPGA-1G-CML的入门指南,一步步把配置环境终于搭建起来,下面重新复现一下此过程 ...

  7. VS2015调用Matlab2017a环境配置(转载)

    VS2015调用Matlab2017a环境配置 一定要在Debug+x64平台下进行配置,x64,x64,x64!!!* 1.配置环境变量 右键计算机—–>属性——>高级系统设置——> ...

  8. QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)

    原文:QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/snow_rain_ ...

  9. 踏入OpenGL大门 —— VS2015开发环境配置 (详细图文)

    转自: https://www.jianshu.com/p/68c314fa9fea?from=groupmessage   眼睛熊 ---------------- 本文 ------------- ...

随机推荐

  1. 《贝贝GO》技术支持

    贝贝GO是一个采用R2M模式的电子商务平台,通过零售商到制造商的两点直线连接,去除中间所有分销代理环节,结合互联网打造全新的线下新零售,旨在为用户提供高品质.高性价比商品的同事带动零售业的新发展.提升 ...

  2. Sharepoint 2016 配置FBA(三)配置Sharepoint

    编辑已经创建好的Web Applicaiton, SharePoint Central Administration -> Application Management -> Manage ...

  3. 入门项目 A6 lib common 登陆状态装饰

    # 用户认证装饰器 def auth(func): from core import src def inner(*args, **kwargs): # 调用被装饰函数前需要做的操作 if src.u ...

  4. mysql navcate longblob 查询结果导出倒入

    由于之前项目为了查询方便,且不受权限控制.所以把image储存在了数据库.但是也遇到了很多瓶颈问题. 1,丢图从日志上查询获知,丢图95%以上是由于mysql的timeout时间失效引起的.(由于另一 ...

  5. C语言中的一维数组

    一.一维数组的定义和引用 (1)一维数组的定义 类型说明符表示数组中的元素类型 数组标识符该数组型变量的名称,命名规则与变量名一致 常量表达式定义了数组中存放的数据元素的个数. (2)一维数组的引用 ...

  6. zoj 2524 并查集裸

    Description There are so many different religions in the world today that it is difficult to keep tr ...

  7. bzoj 4589 FWT

    #include<bits/stdc++.h> #define ll long long using namespace std; ; ; ; ; <<],b[<< ...

  8. poj 1113 凸包

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  9. C++动态链接库方法调用

    //定义内存的信息结构 [StructLayout(LayoutKind.Sequential)] public struct MEMORY_INFO { public uint dwLength; ...

  10. bootstrap-daterangepicker双日历控件开始日期选择问题

    在做项目的时候,有这样一个需求,需要选择时间段,于是在网上找了bootstrap的双日历时间控件daterangepicker控件,要选取时间段的年月来与后台进行数据交互,时间控件如下图所示: 关于控 ...