Windows10 下通过 Visual Studio2022 编译 openssl 3.4 + POCO 1.14.1

打印 上一主题 下一主题

主题 815|帖子 815|积分 2445

1 POCO库简介

POCO 是一个C++的开源库集。同一般的C++库相比,POCO的特点是提供了整一个应用框架。如果要做C++步伐应用框架的快速开发,STL + boost + Poco + Qt + Mysql 是个不错的选择。
POCO库结构如下:
)
2 环境预备

2.1 VS Studio 2022 安装

下载地点:https://learn.microsoft.com/zh-cn/visualstudio/releases/2022/release-notes
我下载的是企业版,安装就不多说了。
2.2 openssl 安装



  • 编译 openssl 安装
    参考《Windows10 下通过 Visual Studio2022 编译 openssl 3.4》

  • 下载安装
    下载地点:https://slproweb.com/products/Win32OpenSSL.html,当前最新版本是v3.4.0,下载Win64即可。

    我使用的编译的方式,记着两个路径,后面需要使用。

  • 头文件路径:
           E:\work\Source\Repos\wanjiaStation\WJSocket\openssl\bin\x64\debug\include

  • 库文件路径:
           E:\work\Source\Repos\wanjiaStation\WJSocket\openssl\bin\x64\debug\lib
3 编译 POCO 1.14.1

3.1 下载源码

Githup下载地点:
   https://github.com/pocoproject/poco
  1. git clone https://github.com/pocoproject/poco
  2. git checkout remotes/origin/poco-1.14.1 -b proc-1.14.1j
复制代码
3.2 修改编译配置

我们来看源码目录 poco 下的这几个文件:

修改 components 文件,去掉没有安装的模块:
去掉 MYSQL 及 postgreSQL,默认会编译没有这两个没有安装的模块。
网上介绍的修改 buildwin.cmd 中设置 OPENSSL 的方式没有乐成,我采用直接在项目工程属性中设置的方式。
3.2.1 修改 poco\Crypto 工程 引用 openssl 的配置



  • 配置 openssl 附加包含目录:
  1. C:\work\Source\Repos\WebSocket\openssl\bin\x64\debug\include
复制代码



  • 配置 openssl 附加库目录:
  1. C:\work\Source\Repos\WebSocket\openssl\bin\x64\debug\lib
复制代码



  • 增加附加依靠项:
  1. libcrypto.lib
复制代码

3.2.2 修改 poco\NetSSL_OpenSSL 工程 引用 openssl 的配置

修改 poco\NetSSL_OpenSSL 工程 引用 openssl 的配置,头文件和库目录和 Crypto 一样设置。


  • 增加附加依靠项:
  1. libssl.lib;libcrypto.lib
  2. ;
复制代码

-增加预处理器定义:
  1. _CRT_SECURE_NO_WARNINGS
复制代码

3.2.3 修改 poco\DNSSD\Bonjour 工程

  1. 无法打开包括文件: “dns_sd.h”: No such file or directory
复制代码
bonjour 是苹果公司发布的一个基于ZEROCONF工作组(IETF部属小组)的工作,用于实现零配置网络联网的解决方案。
我们可以去官网了解 Bonjour - Apple Developer:https://developer.apple.com/bonjour/
下载 Bonjour SDK for Windows,地点:https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows
安装(Bonjour服务启动,依靠于mDNSResponder.exe进程)
附:源码地点:https://opensource.apple.com/tarballs/mDNSResponder/
如果不需要使用 poco\DNSSD,我们可以像MySQL 一样,在 components 文件删除就不会编译以下项目了:
  1. DNSSD
  2. DNSSD/Avahi
  3. DNSSD/Bonjour
复制代码
3.3 使用 build_vs170.cmd 编译


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表