最近写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了。

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

1570

被折叠的 条评论
为什么被折叠?



