From 8fb546ee3ef75d547e1ad5a4fdc7a090c671f747 Mon Sep 17 00:00:00 2001 From: TaurusXin Date: Sun, 24 May 2026 07:51:55 +0800 Subject: [PATCH] update: 003 --- .../index.md | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/content/post/003.【20210825】Windows10-下使用-VS2019-源码编译-OpenSSL-1.1.1l/index.md b/content/post/003.【20210825】Windows10-下使用-VS2019-源码编译-OpenSSL-1.1.1l/index.md index 2534f1e..6dd6a6b 100644 --- a/content/post/003.【20210825】Windows10-下使用-VS2019-源码编译-OpenSSL-1.1.1l/index.md +++ b/content/post/003.【20210825】Windows10-下使用-VS2019-源码编译-OpenSSL-1.1.1l/index.md @@ -1,14 +1,14 @@ --- -title: "Windows 11 下使用 VS2022 源码编译 OpenSSL 3.1.3" +title: "Windows 11 下使用 VS2026 源码编译 OpenSSL 4.0.0" categories: [ "程序人生" ] tags: [ ] draft: false slug: "openssl_win_build" date: "2019-08-20 13:00:00" -lastmod: '2023-10-06T18:34:00+0800' +lastmod: '2026-05-24T07:45:00+0800' --- -**本文持续更新,跟进当前日期最新的 OpenSSL 版本,最后更新日期见文章末** +## 依赖安装 ### 安装 Strawberry Perl @@ -23,64 +23,59 @@ lastmod: '2023-10-06T18:34:00+0800' perl -v ``` -### ~~安装 NASM~~ +### 安装 NASM -**2021/03/25 更新:以后教程不编译汇编代码,此步骤省略** +前往 [NASM][2] 官网下载并安装 NASM -~~前往 [NASM][2] 官网下载并安装 NASM~~ -~~这里选择的是 Stable 的 2.15.05~~ - -~~**安装完成后要将NASM的路径添加到环境变量,安装程序不会自动添加**~~ - -### 下载源代码 +## 下载源代码 前往 [OpenSSL][3] 官网下载 openssl-3.1.3.tar.gz 并解压 -### 编译 +## 编译 -#### VC编译环境 +### VC编译环境 Visual Studio 在安装时必须勾选 Windows C++ 的开发环境,不然没法打开开发人员命令提示符 ![Snipaste_2020-04-23_14-08-13.png][4] -#### 启动命令行提示工具 +### 启动命令行提示工具 【2020年5月25日更新】 使用 VS2022 的开发人员提示工具切换到源码目录,注意选择要编译的位数所对应的版本,不要选择cross版本。所有的选项都要统一,即:编译32位的就启动x86,配置Makefile时为命令行为VC-WIN32,64位同理,本文以编译64位为例。 - **根据下图打钩的图标,确定需要编译的位数,选择合适的命令提示符。** ![选择合适的命令行版本][5] -#### 进入源码目录 +### 进入源码目录 ```shell cd /d C:\openssl-3.1.3 ``` -#### 配置 Makefile +### 配置 Makefile -| 版本 | 对应架构命令行 | -| ----- | -------------- | -| 64位 | VC-WIN64A | -| 32位 | VC-WIN32 | +| 版本 | 对应架构命令行 | +| ---- | -------------- | +| 64位 | VC-WIN64A | +| 32位 | VC-WIN32 | 本文采用64位 ```shell -perl Configure VC-WIN64A no-asm +perl Configure VC-WIN64A ``` 如果编译静态链接版本的二进制程序,加一个 `no-shared` 选项即可。 ```shell -perl Configure VC-WIN64A no-asm no-shared +perl Configure VC-WIN64A no-shared ``` 根据自己需要,二者选一即可 默认编译后安装在以下路径: + | 版本 | 默认安装路径 | | ---- | ------------------------------ | | 64位 | C:\\Program Files\\OpenSSL | @@ -89,10 +84,10 @@ perl Configure VC-WIN64A no-asm no-shared 若想要自定义安装路径,添加 `--prefix` 选项即可 ```shell -perl Configure VC-WIN64A no-asm --prefix=D:\OpenSSL\3.1.3 +perl Configure VC-WIN64A --prefix=D:\OpenSSL\3.1.3 ``` -#### 开始编译及安装 +### 开始编译及安装 执行 nmake 开始编译 整个过程视机器配置而定,单线程编译持续约5-10分钟 @@ -115,7 +110,7 @@ nmake install_sw **使用 install_sw 代替 install 是因为默认 install 会生成 40M 左右的 HTML 文档,若不需要就使用 install_sw 仅安装二进制文件和库** -#### 添加环境变量 +### 添加环境变量 将编译后的安装目录下的 bin 文件夹添加到系统 Path 目录下 打开 cmd 使用 `openssl version -a` 测试 @@ -134,21 +129,27 @@ Seeding source: os-specific CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x400004219c91a9 ``` -#### 清理生成的中间文件 +### 清理生成的中间文件 ```shell nmake clean ``` -### 下载 +## 下载 -附上我编译的动态链接版及静态链接版,已经移除了 pdb 调试符号文件,确保文件大小 +**2026年5月24日更新** -[动态链接版](https://cdn.taurusxin.com/softwares/openssl/openssl-3.1.3-windows-amd64-dynamic.zip) +如果不想自己编译,我制作了一个 GitHub Action 自动化构建仓库,每周会自动检查更新,构建完成后会上传到 Releases 中。 -[静态链接版](https://cdn.taurusxin.com/softwares/openssl/openssl-3.1.3-windows-amd64-static.zip) +仓库包含了 x64 和 x86 版本的动态链接版及静态链接版。 -### 结尾语 +仓库地址: + +Releases : + +截止文章更新,最后发布版本为 4.0.0 + +## 结尾语 如果在配置或者编译有任何问题或者报错,请在下方留言或直接在关于页面联系我~ @@ -157,4 +158,3 @@ nmake clean [3]: https://www.openssl.org/source/ [4]: https://cdn.taurusxin.com/old-cdn/usr/uploads/2020/04/504569709.png [5]: https://cdn.taurusxin.com/old-cdn/usr/uploads/2020/05/1835595688.jpg - [6]: https://cdn.taurusxin.com/old-cdn/typecho/2021/09/01/OpenSSL-1.1.1l-windows_x86-64.zip