需要先准备好OpenSSL1.0.2

下载poco-poco-1.9.0-release.zip,解压,
修改buildwin.cmd中的OPENSSL_DIR路径,特别注意OPENSSL_LIB的路径,可能会有32位64位的前缀,例如
set OPENSSL_DIR=E:\PITCProjects\FZZRepository\trunk\SMSA\dev\core_deepstream\my-deepstream-client-cpp\3rd_party\OpenSSL1.0.2
set OPENSSL_INCLUDE=%OPENSSL_DIR%\include

set OPENSSL_LIB=%OPENSSL_DIR%\x64\lib
这里需要注意一下如果使用VS2015编译64位版本,需要将184行的x64改为X64,VS2017没有此问题(poco-1.9.0有没有此问题尚未验证)

修改build_vs150.cmd,150表示VS2017,shared表示动态库dll,both表示Release和Debug版本都生成,Win32表示32位版本,x64表示64位版本

@echo off

buildwin 150 build shared both x64 nosamples notests devenv
打开VS2017的64位命令行控制台x64 Native Tools Command Prompt for VS 2017
切换到build_vs150.cmd所在目录,执行build_vs150命令
C:\Users\dell\source>e:
E:\PITCProjects\FZZRepository\trunk\SMSA\dev\core_deepstream\下载的原始源文件\poco-poco-1.9.0-release>build_vs150
生成的dll在bin文件夹,lib在lib文件夹,
include头文件需要从每个工程的include下拷贝,例如\Foundation\include\Poco。初步测试DeepStream对PCOC的include只需要Foundation、Crypto、Net、NetSSL_Win、Util。

修改poco-poco-1.9.0-release\Crypto\Crypto_x64_vs150.vcxproj文件的147行和184行,以及

poco-poco-1.9.0-release\Crypto\testsuite\TestSuite_x64_vs150.vcxproj文件的145行和176行
poco-poco-1.9.0-release\NetSSL_OpenSSL\NetSSL_OpenSSL_x64_vs150.vcxproj文件的141行和173行
poco-poco-1.9.0-release\NetSSL_OpenSSL\testsuite\TestSuite_x64_vs150.vcxproj文件的145行和176行
添加
libeay32.lib;ssleay32.lib;

可以通过修改poco-poco-1.9.0-release\componets文件删除不必要编译的组件,经测试只保留以下8个即可,其中第一个CppUnit只在编译时候需要,开发时不再需要
CppUnit
Foundation

XML

JSON

Util

Net

Crypto

NetSSL_OpenSSL

VS2017编译Poco1.9.0的64版本的更多相关文章

  1. vs2013编译boost1.55.0 32/64位

    在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_call ...

  2. VS2010编译Qt4.8.2的64版本库

    安装qt-win-opensource-4.8.2-vs2010.exe(从http://download.qt.io/archive/qt/4.8/4.8.2/下 载),这个是32位的,里面有编译好 ...

  3. CentOS 64位上编译 Hadoop2.6.0

    由于hadoop-2.6.0.tar.gz安装包是在32位机器上编译的,64位的机器加载本地库.so文件时会出错,比如: java.lang.UnsatisfiedLinkError: org.apa ...

  4. Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...

  5. 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)

    不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...

  6. 使用自编译的Emacs26.0.50build10版本,helm报错(已解决)

    使用自编译的Emacs26.0.50build10版本,helm报错(已解决) */--> code {color: #FF0000} pre.src {background-color: #0 ...

  7. VS2017 编译 Visual Leak Detector + VLD 使用示例

    起因 一个Qt5+VS2017的工程,需要进行串口操作,在自动时发现一段时间软件崩溃了,没有保存log,在 debug 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...

  8. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  9. Ubuntu12.04-x64编译Hadoop2.2.0和安装Hadoop2.2.0集群

      本文Blog地址:http://www.cnblogs.com/fesh/p/3766656.html   本文对Hadoop-2.2.0源码进行重新编译(64位操作系统下不重新编译会有版本问题) ...

随机推荐

  1. Some Parameter Interpretation On Using Mininet

    MiniNet使用很简单,下面以下面帮助界面截图为例,简单讲述常见的几个命令即可: sudo mn --topo single,3--mac --switch ovsk--controller rem ...

  2. C++ STL Maps

    Maps定义 --> 个人理解为python的字典 C++ Maps are sorted associative containers the contian unique key/value ...

  3. Java如何查看线程的优先级?

    Java编程中,如何查看线程的优先级? 以下示例演示如何使用Thread类的getPriority()方法检查线程的优先级. package com.yiibai; public class Thre ...

  4. ios中layer动画和UIView动画代码总结

    kCATransitionFade淡出  kCATransitionMoveIn覆盖原图  kCATransitionPush推出  kCATransitionReveal底部显出来    pageC ...

  5. EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)

    一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中), ...

  6. Dependency Scopes(maven)

    Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个生命周期时导入的package的状态. 自从2.0.9后,新增了1种,现在有了6种scope: ...

  7. 机器学习结果加ID插入数据库源码

    import org.apache.spark.mllib.evaluation.BinaryClassificationMetrics import org.apache.spark.mllib.l ...

  8. 通过MyEclipse部署web应用程序开发环境

    1.下载并安装MyEclipse10 2.配置java开发的jar包 3.配置tomcat服务器 4.部署tomcat服务器 点击Bronse可以查看部署后的文件夹目录 5.启动tomcat服务器 6 ...

  9. Linux的wget命令

    wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget http://www.linuxsense.org/xxxx/xxx. ...

  10. python获取数组中最多的元素

    获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=sam ...