VS2017编译Poco1.9.0的64版本

需要先准备好OpenSSL1.0.2

下载poco-poco-1.9.0-release.zip,解压,
修改buildwin.cmd中的OPENSSL_DIR路径,特别注意OPENSSL_LIB的路径,可能会有32位64位的前缀,例如
set OPENSSL_DIR=E:PITCProjectsFZZRepository runkSMSAdevcore_deepstreammy-deepstream-client-cpp3rd_partyOpenSSL1.0.2
set OPENSSL_INCLUDE=%OPENSSL_DIR%include

set OPENSSL_LIB=%OPENSSL_DIR%x64lib
这里需要注意一下如果使用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:Usersdellsource>e:
E:PITCProjectsFZZRepository runkSMSAdevcore_deepstream下载的原始源文件poco-poco-1.9.0-release>build_vs150
生成的dll在bin文件夹,lib在lib文件夹,
include头文件需要从每个工程的include下拷贝,例如FoundationincludePoco。初步测试DeepStream对PCOC的include只需要Foundation、Crypto、Net、NetSSL_Win、Util。

修改poco-poco-1.9.0-releaseCryptoCrypto_x64_vs150.vcxproj文件的147行和184行,以及

poco-poco-1.9.0-releaseCrypto estsuiteTestSuite_x64_vs150.vcxproj文件的145行和176行
poco-poco-1.9.0-releaseNetSSL_OpenSSLNetSSL_OpenSSL_x64_vs150.vcxproj文件的141行和173行
poco-poco-1.9.0-releaseNetSSL_OpenSSL estsuiteTestSuite_x64_vs150.vcxproj文件的145行和176行
添加
libeay32.lib;ssleay32.lib;

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

XML

JSON

Util

Net

Crypto

NetSSL_OpenSSL

原文地址:https://www.cnblogs.com/coolbear/p/8918824.html