编译带openssl 的 curl库

本文档详细介绍了在Windows上使用Visual Studio 2017和CMake编译OpenSSL和带OpenSSL的curl库的过程,以便为cpr库的构建提供依赖。首先,下载并配置openssl和curl源码,然后通过perl Configure和nmake命令编译openssl。接着,使用CMake生成curl项目,并配置生成带openssl支持的lib文件。最后,成功编译完成后,将库添加到本地环境变量以便使用。

        最近写windows需要用到一个githut的https访问库cpr,又因为cpr库依赖curl,而原生的curl没有带openssl的库直接进行编译,所以我们要先搭起openssl的环境再编译curl的库。

        准备工作:

        Visual Studio :我这里选择 2017 的版本。

        cmake编译软件:CMake 任意版本然后安装即可。

        openssl源码:/source/index.html,我选择的版本是[1.1.1] 。

        curl源码:curl for Windows,我选择的版本是[7.78.0]。

        cpr访问库:https://github.com/whoshuu/cpr 这是我需要使用的http访问库。

        还有可能需要的工具 perl (Download & Install Perl - ActiveState),如果没有此cmd命令没有的话需要自行去下载perl并配置,晚点我会出一篇文章教大家如何安装perl。

完成准备工作后我们开始进行编译。

第一步,安装openssl

1.打开 64位开发命令工具(下载vs2017后直接搜索x64),右键选择“以管理员身份运行”。

2.进入刚下载的openssl目录:

2.输入命令:perl Configure VC-WIN64A no-asm --prefix=[你的输出目录],这里编译的是64位,如果编译32位是:VC-WIN32;no-asm表示不使用汇编,必须加上,不然默认使用汇编。

3. 执行命令nmake

4.执行命令nmake install

输出目录生成:

 

5.配置环境变量

D:\ENVIR\openssl\opensslOut

D:\ENVIR\openssl\opensslOut\include

D:\ENVIR\openssl\opensslOut\lib

注: 在以前的openssl的版本中ms目录下有do_命令,所以很多文章会使用ms\do_ms、ms\do_masm、ms\do_nasm等命令,如果按照这种方法总是会提示:
‘ms\do_nasm’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
或’ms\do_ms’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
因为从openssl 1.1.0版本以后就不再有ms\do_.bat这样的文件,而是直接使用nmake命令就行了。

**到这里总算把openssl安装在本地目录,下面开始编译curl。

第二步,编译带openssl的curl库

1.打开cmake程序

 

 

2.点击Configure配置工程环境

 

 点击 FInish 完成配置,等待就可以。

 

 

注:可能会出现一遍红色,这不是错误,再次点击Configure重新配置就可以正常。

3.勾选需要openssl的项

 

4.点击 Generate 生成项目,等待完成

5.到这里只差一步,点击Open Project,生成lib

6.弹出错误框不用理会,找到刚刚cmake配置的输出目录,发现里面已经生成lib,到这里就可以使用带有openssl的lib了。

 

 

 

 

 

 

 

 

        

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值