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

发布于:2025-02-11 ⋅ 阅读:(62) ⋅ 点赞:(0)

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 安装

3 编译 POCO 1.14.1

3.1 下载源码

Githup下载地址:

https://github.com/pocoproject/poco

git clone https://github.com/pocoproject/poco
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 附加包含目录:
C:\work\Source\Repos\WebSocket\openssl\bin\x64\debug\include

在这里插入图片描述

  • 配置 openssl 附加库目录:
C:\work\Source\Repos\WebSocket\openssl\bin\x64\debug\lib

在这里插入图片描述

  • 增加附加依赖项:
libcrypto.lib

在这里插入图片描述

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

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

  • 增加附加依赖项:
libssl.lib;libcrypto.lib;

在这里插入图片描述

-增加预处理器定义:

_CRT_SECURE_NO_WARNINGS

在这里插入图片描述

3.2.3 修改 poco\DNSSD\Bonjour 工程

无法打开包括文件: “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 文件删除就不会编译以下项目了:

DNSSD
DNSSD/Avahi
DNSSD/Bonjour

3.3 使用 build_vs170.cmd 编译


    网站公告

    今日签到

    点亮在社区的每一天
    去签到