openssl之windows编译

本文详细指导了在Windows环境下编译OpenSSL 1.1.1k的步骤,包括下载、配置VC-WIN32/64环境,解决配置错误,并演示了如何在CMake中设置OpenSSL路径。

一、编译前工作

        进入下载页面:https://www.openssl.org/source,下载.tar.gz包到指定目录。例如:下载openssl-1.1.1k.tar.gz并解压到D:\workspace\openssl-1.1.1k
        在父目录创建构建目录,例如:D:\workspace\openssl-1.1.1k-build,通过终端进入构建目录,输入命令:

  • x86
perl ..\openssl-1.1.1k\Configure VC-WIN32 no-asm --prefix=D:\openssl-1.1.1k-windows-x86-msvc
  • x64
perl ..\openssl-1.1.1k\Configure VC-WIN64A no-asm --prefix=D:\openssl-1.1.1k-windows-x64-msvc

说明: 如果要编译静态库,则需要加上选项 no-shared,默认编译动态库
如果过程中出现以下报错:

D:\software\openssl\build>perl ..\openssl-1.1.1k\Configure VC-WIN64A no-asm no-shared --prefix=D:\openssl-1.1.1k-windows-x64-msvc
Configuring OpenSSL version 1.1.1k (0x101010bfL) for VC-WIN64A
Using os-specific seed configuration
Can't locate Win32/Console.pm in @INC (you may need to install the Win32::Console module) (@INC contains: D:/software/openssl/openssl-1.1.1k/util/perl C:/Program Files/Perl64/site/lib C:/Program Files/Perl64/lib) at C:/Program Files/Perl64/site/lib/ActivePerl/Config.pm line 400.
Compilation failed in require at C:/Program Files/Perl64/site/lib/ExtUtils/MakeMaker.pm line 10.
BEGIN failed--compilation aborted at C:/Program Files/Perl64/site/lib/ExtUtils/MakeMaker.pm line 10.
Compilation failed in require at C:/Program Files/Perl64/site/lib/IPC/Cmd.pm line 235.

则需要修改perl对应目录的文件(如:C:/Program Files/Perl64/site/lib/ActivePerl/Config.pm),定位到400行所在的函数(本机为:sub _warn),把该函数内的逻辑注释掉即可。

二、编译安装

        配置成功后,打开Visual Sutdio的开发人员命令窗口(注意: 否则如果在普通的命令窗口在配置时,会提示:'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件)。

  • x86
    在这里插入图片描述
    在这里插入图片描述

  • x64
    在这里插入图片描述
    在这里插入图片描述
            进入构建目录,例如:D:\workspace\openssl-1.1.1k-build,输入编译命令:nmake,成功后输入测试命令:nmake test,最后输入安装命令:nmake install,即可把openssl库安装到目录:D:\openssl-1.1.1k-windows-x86-msvcD:\openssl-1.1.1k-windows-x64-msvc

三、设置CMake的OpenSSL路径

        使用CMake构建其他库时,如果需要依赖于OpenSSL,则需要配置环境变量OPENSSL_ROOT_DIR,这样才能找到OpenSSL的头文件和库,例如:
在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值