openssl之windows编译

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、编译前工作

        进入下载页面: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的头文件和库,例如:
在这里插入图片描述

### Windows 上安装和编译 OpenSSL 教程 #### 准备工作 为了在 Windows 上顺利安装和编译 OpenSSL,需先准备必要的工具和支持软件。 对于无需编译的快速安装方法,在 Windows 10 中可以通过预构建二进制文件来实现 OpenSSL 的免编译安装。这通常涉及从可信第三方资源获取已打包好的可执行程序,并按照官方或社区文档指导完成部署过程[^1]。 然而,当选择自行编译 OpenSSL 源代码时,则需要额外安装一些依赖项: - **Perl**: 编译过程中需要用到 Perl 解释器。建议访问 ActiveState 官网下载适用于 Windows 的最新稳定版 ActivePerl 进行安装,并确保将其路径添加至系统的环境变量中以便后续操作能够正常识别该解释器的存在[^2]。 #### 获取源码包 前往 OpenSSL 官方网站或其他可靠渠道下载目标版本的压缩包形式发布的源代码档案。注意挑选适合当前平台架构 (32位 或 64位) 的 tarball 文件进行本地保存[^5]。 #### 开始编译流程 解压所获得的源码后进入对应目录,通过命令提示符窗口依次运行下列指令来进行配置与实际编译动作: 针对 64 位系统: ```shell perl Configure VC-WIN64A no-asm --prefix="指定安装位置" ``` 而对于 32 位则应调整参数为 `VC-WIN32`[^3]。 接着利用 nmake 工具链继续处理直至生成最终产物: ```shell nmake nmake test nmake install ``` 上述步骤完成后即代表整个编译环节结束,此时可以在设定的目标路径找到新建立起来的 OpenSSL 库及相关组件[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值