从零开始编译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:\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环境配置的更多相关文章
- OpenCV3.2 + VS2015环境配置
一.准备工作: (1) 到OpenCV的官网(http://opencv.org/)下载OpenCV3.2 (2) 安装好VS2015. (3) 计算机系统:Win7(Win8, Win1 ...
- cocos IDE 编译lua 游戏程序的环境配置
因为毕业设计需要用cocosIDE编译一个apk在手机上跑,所以搭建这个环境还是需要的. ps:是针对win系统的. 需要的工具: 1.cocosIDE:点击链接 (ps:据说这个软件设计有点反人类, ...
- vscode 编译调试c/c++的环境配置
首先看了一下别人写的文章 http://blog.csdn.net/c_duoduo/article/details/51615381 在按照上文链接博主的安装步骤进行到MINGW的安装时出现一个问题 ...
- 从零开始学Java (一)环境配置
1.下载jdk Oracle官网 2.配置环境变量 JAVA_HOME:指明JDK安装路径,如C:\Program Files\Java\jdk1.7.0Path:变量中添加 %JAVA_HOME%\ ...
- VS2015环境配置: VS2015 未能正确加载“ResourceManagerPackage”包的问题
启动vs2015专业版时,出现类似于这样的提示框,有好几个,点击是或否,但下次打开还是会出现.笔者也寻找了网上的一些解决办法,例如用vs命令窗口或其他,但都无疾而终,下面提供的这个办法,顺利解决此问题 ...
- NetFPGA-1G-CML从零开始环境配置
NetFPGA-1G-CML从零开始环境配置 前言 偶得一块NetFPGA-1G-CML,跟着github对NetFPGA-1G-CML的入门指南,一步步把配置环境终于搭建起来,下面重新复现一下此过程 ...
- VS2015调用Matlab2017a环境配置(转载)
VS2015调用Matlab2017a环境配置 一定要在Debug+x64平台下进行配置,x64,x64,x64!!!* 1.配置环境变量 右键计算机—–>属性——>高级系统设置——> ...
- QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)
原文:QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/snow_rain_ ...
- 踏入OpenGL大门 —— VS2015开发环境配置 (详细图文)
转自: https://www.jianshu.com/p/68c314fa9fea?from=groupmessage 眼睛熊 ---------------- 本文 ------------- ...
随机推荐
- python中的 uuid 模块使用示例
此模块提供不可变的 UUID 对象 (类 uuid) 和函数uuid1().uuid3().uuid4().uuid5(), 用于生成在 RFC 4122 中指定版本1.3.4和5UUIDs .如果你 ...
- Ubuntu16.04下ZeroC ICE的安装与使用示例(Qt C++ 和 Java)
项目需求:在Ubuntu16.04系统下安装并使用ICEgrid 3.7进行c++和Java Springboot开发环境的通信,下面逐一介绍各个步骤的详解: 一:Ice Lib的安装 参考官网地址: ...
- 5--Postman上传文件
请求: charles抓到请求信息: request: --21b63bd3-1543-46cf-ab25-eaa5adf82688Content-Disposition: form-data; na ...
- 网络请求————ProxyHandler实现代理ip
from urllib import request #这个是没有使用代理的 # resp = request.urlopen('http://httpbin.org/ip') # print(res ...
- c++ complie link error 2019/2001
1:没有将需要的文件添加到项目中,只是考到项目所在的目录了 2:没有添加 类导出 宏
- Android版本28使用http请求
Android版本28使用http请求报错not permitted by network security policy android模拟器调试登录的时候报错 CLEARTEXT communic ...
- CentOS 7 下安装 Nginx
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...
- 那些年,很多人没看懂的Python内置函数
Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...
- vue----计算与监听属性
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...
- mybatis 中javaType和OfType 的区别
JavaType和ofType都是用来指定对象类型的,但是JavaType是用来指定pojo中属性的类型,而ofType指定的是映射到list集合属性中pojo的类型.pojo类: publiccla ...