win10编译支持https的curl 使用vs2022

环境:win10,vs2022,curl默认不支持https协议,要使用openssl库集成到cur项目中编译才可以

openssl编译需要zlib库。所以还要额外编译一个zlib的dll版本。

第一步:编译zlib 1.3.1
github上拉取源代码:https://github.com/madler/zlib.git
使用cmake gui工具构建sln
选择编译zlib的dll版本即可。
整理出zlib的include,lib,bin目录,为后面编译openssl链接准备。
在这里插入图片描述

第二步:集成zlib编译OpenSSL 3.2.1
源代码从github拉取或者下载最新发行版源码包都可以。
在这里插入图片描述
注意看官方文档的文件,上面有windows平台的安装指南。比如需要安装什么软件,哪里下载,安装指令,配置选项是什么怎么用,还是需要去阅读一下。

  1. 第一步
    按照文档,先下载NASM Strawberry Perl
    都是msi傻瓜式安装,安装后记得检查加入%path%环境变量中。

  2. 第二步
    打开vs的本地命令行工具,32位选择x86 Native Tools Command Prompt for VS 2022
    在这里插入图片描述

按照命令行一步一步执行。配置选项含义参考官方文档。
在这里插入图片描述

D:\Strawberry\perl\bin\perl.exe Configure VC-WIN32 --release --prefix=D:\Git\openssl-openssl-3.2.1\msvc_bulid_OpenSSL --openssldir=D:\Git\openssl-openssl-3.2.1\msvc_bulid_OpenSSL\SSL zlib-dynamic --with-zlib-include=D:\Git\zlib\exportPkg\include --with-zlib-lib=D:\Git\zlib\exportPkg\lib\zlib.lib

执行成功提示:
请添加图片描述

perl Configure
nmake
nmake test
nmake install

在这里插入图片描述

每个步骤需要的时间都挺多,耐心等待。
在这里插入图片描述
在这里插入图片描述
第三步:编译curl 8.5.0

打开cmd,运行

D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat

进入curl源码目录winbuild目录,执行

nmake /f Makefile.vc mode=dll WITH_SLL=dll SSL_PATH=D:\Git\curl\deps\OpenSSL_3.2.1 WITH_ZLIB=dll ZLIB_PATH=D:\Git\curl\deps\zlib_1.3.1

请添加图片描述

报错U073,查找说是交叉引用了,去掉对zlib的引用即可。
nmake /f Makefile.vc mode=dll WITH_SLL=dll SSL_PATH=D:\Git\curl\deps\OpenSSL_3.2.1
默认生成目录是:curl\builds
在这里插入图片描述
第四步:使用curl测试https请求
在这里插入图片描述
使用生成目录下的curl,进行命令行测试:

curl -V

如果Protocals中有https就说明可以了。

curl "https://www.baidu.com"

如果可以请求成功出数据就是可以了。
在这里插入图片描述
Notes: 这次编译出来的libcurl.dll查找依赖不依赖opensll,以前他们编译的可以看到依赖,不知道是不是版本更高的原因。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值