zoukankan      html  css  js  c++  java
  • 从零开始编译Poco C++和VS2015环境配置

    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:pocopoco-1.9.0v1.9.0_compact_MSVC

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

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

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

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

    $(POCO_ROOT)include

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

    D:pocopoco-1.9.0v1.9.0_compact_MSVCuildx64libDebug
    D:pocopoco-1.9.0v1.9.0_compact_MSVCuildx64inDebug

    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)uild$(Platform)in$(Configuration)*.∗"(POCOROOT)uild$(Platform)in$(Configuration)*.∗"(TargetDir)

    pooc c++使用简单示例代码:
    #include <iostream>
    #include "PocoTimer.h"
    #include "PocoThread.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

  • 相关阅读:
    23种设计模式(1)
    设计模式六大原则
    关于设计模式
    《代码整洁之道》整理
    MySQL 查询优化
    互联网流量下的分层实验平台是咋做的
    机器学习web服务化实战:一次吐血的服务化之路
    RabbitMQ和Kafka到底怎么选(二)?
    RabbitMQ和Kafka到底怎么选?
    基于海量词库的单词拼写检查、推荐到底是咋做的?
  • 原文地址:https://www.cnblogs.com/lidabo/p/10472251.html
Copyright © 2011-2022 走看看