废话少说,直接上步骤:

一、下载 openssl 源码:

  https://github.com/openssl/openssl打开网页后,直接在右上角那个绿色 code 按钮点击,在弹出菜单中选择 download as zip,下载源码包到本地,并解压。选一个没有中文的路径放置(纯属程序员的胆小习惯,有时候可以避免有些程序不能正确解析中文编码,找不到正确路径引起的意外错误)。

二、下载 perl 并安装:

 https://www.perl.org下载后,双击安装。安装完后,可以写个简单的小 hello world 程序测试下。 ( hello world 程序教程: https://www.runoob.com/perl/perl-tutorial.html )

三、下载 nasm 并安装:

https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/
我直接下载了可执行文件,解压后把 nasm.exe 所在的目录设置到 windows 的系统路径里面。

四、确保系统中有 ANSI C 编译器,可安装 mingw

 我的电脑中有 qt5.14.2,随 qt 安装了mingw,找到qt下的 mingw 路径,一般是 qt 安装目录下的 Tools\mingw730_64\bin。openssl 编译过程需要用到里面的 gcc.exe g++.exe 等等,qt 里面对应程序名称有前缀,可能导致 openssl 的编译脚本找不到,为保险,将之一一复制,然后将复制后的文件改成与 linux 下相同的通用名字:mingw32-make.exe                               ->              make.exex86_64-w64-mingw32-c++.exe         ->          c++.exex86_64-w64-mingw32-g++.exe            ->          g++.exex86_64-w64-mingw32-gcc.exe          ->          gcc.exe如果你的电脑中没有 qt, 可以自己装一个 mingw,然后要检查一下 mingw 的可执行文件路径在 windows 系统路径中,而且文件名有通用版本。
最后要把 mingw 可执行文件所在路径加入 windows 系统路径中。这里就是上面的 ...\Tools\mingw730_64\bin 。

五、确保系统中安装了 Visual Studio 和 c++ 模块,且 nmake.exe 文件路径在 windows 系统路径中

我的是 vs2019。找到 nmake.exe 所在的路径为:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
以及 vcvarsall.bat 文件所在目录:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
检查发现命令行运行 nmake 和 vcvarsall.bat 提示找不到该程序,所以将上面的路径全部加入windows 系统路径中。

六、最后可以按照 openssl 下的说明步骤执行编译

很有用的相关参考文章,感谢各位作者分享:
https://www.it1352.com/1707749.html
https://www.cnblogs.com/flyinggod/p/10838214.html
https://blog.csdn.net/sunriver2000/article/details/105602673
https://blog.csdn.net/skylin19840101/article/details/49494235很有用的 openssl 的自带编译说明文件:INSTALL.md、NOTES-WINDOWS.md

编译步骤记录(实测成功):
1)管理员权限打开 cmd.exe
2) 切换当前目录到 openssl 源码所在根目录
3)依次执行命令行命令:
vcvarsall.bat amd64

 这一步非常关键,是为 nmake 配置执行环境,关系到 nmake.exe 是否能正确执行。我的电脑是 intel 64位 i7,参数 amd64 意思是在 64 位平台下编译在 64 位平台下运行的目标程序。( 命令行意义可参考"Developer command prompt shortcuts”部分:https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170 )

perl Configure VC-WIN64A no-asm

nmake

若无错误,可尝试执行测试(比较费时间):
nmake test

然后执行:
nmake install
遇到错误:LINK : fatal error LNK1104: 无法打开文件“ws2_32.lib”
正在解决中

问题处理:
a) 有时候出现莫名奇妙的问题,在做一些处理,需要重启 cmd.exe 后,可尝试从 vcvars32.bat 开始,依次将上面几个命令从头执行一遍。以防最开始 vcvars32.bat 设置的环境已无效。
b) ‘rc’ 不是内部或外部命令,也不是可运行程序。
解决方法:找到 Windows Kits 目录下对应版本的 rc.exe 所在目录,将该目录加入到 windows 系统路径中,然后记得重启 cmd.exe 窗口,使刚刚的设置生效。我的是这个:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64

openssl win10编译安装笔记相关推荐

  1. 在Ubuntu下rtorrent编译安装笔记

    为什么80%的码农都做不了架构师?>>>    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GU ...

  2. android rtorrent 编译,在Ubuntu下rtorrent编译安装笔记

    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GUI来更好的让用户控制管理rtorrent,总而言之在Linux平台 ...

  3. yum仓库、源以及编译安装笔记

    rpm -ivh 安装软件包     yum /etc/yum.conf:为所有仓库进行公共配置   /etc/yum.repos.d/*.repo :为仓库的指向提供配置 例 : [base] na ...

  4. Linux下MySQL 5.5.11编译安装笔记(待验证)

    MySQL 最新的版本5.5.11需要cmake编译安装,估计以后的版本也会采用这种方式,网上找了一些安装方法有些地方是错的,自己整理一份 所以特地记录一下安装步骤及过程,以供参考! 1. mysql ...

  5. gcc 5.2.0 编译安装笔记-20151110

    **转载请注明出处** by.haunying3 系统版本号 CentOS-6.6-x86_64-minimal 编译器 gcc-4.4.7通过yum安装 rpm -qa | grep gcc gcc ...

  6. Linux(Ubuntu 16.04)下非root用户编译安装Python 3.8.6

    鬼知道我一天天都在什么破事上浪费时间.--鲁迅(不是 起因 老板舍不得买卡,需要训练一个训练起来非常耗时的模型,借了别人服务器使,人家给了一台硬件相当不错(我活这么久没见过).软件极其落后的机器,系统 ...

  7. 源码编译安装LNMP平台(使用Linux, Nginx,MySQL与PHP搭建论坛)

    目录 编译安装NGINX 安装依赖包 新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限) 编译安装Nginx 添加 Ng ...

  8. zabbix编译php_【Zabbix学习笔记】五、LNMP之PHP7.4.1源码编译安装

    PHP7.4.1已于12月18日发布,先来体验一下~ 了解PHP7.4.1的新特性请点击:php7.4新特性 安装环境 操作系统:Centos7 PHP版本: PHP 7.4.1 Web服务器:Ngi ...

  9. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

最新文章

  1. 通过 DLPack 构建跨框架深度学习编译器
  2. 2018年智能化发展趋势:语音交互全球开战、AI终端趋势显现
  3. Apple WatchKit 初探
  4. Python基础08 面向对象的基本概念
  5. 第六章:面向对象(二)
  6. Java嵌套构造函数造成的stack overflow异常
  7. 设置Windows 10时如何创建本地帐户
  8. 第七届蓝桥杯省赛---蚂蚁感冒
  9. 滤波 放电速度比充电慢 模电
  10. 52 SD配置-定价配置-定义定价程序确定
  11. T-SQL 查询、修改数据表
  12. javac -version ;java -version不一致
  13. android二级菜单ui,巧用PopupMenu实现NavigationView的二级子菜单
  14. eclipse C/C++开发环境配置全过程
  15. 数字孪生技术方案下的智慧城市建设治理体系优势
  16. mysql网站倒计时代码_最简单的一个网页倒计时代码 时间到期后会显示出提醒内容 收藏版...
  17. Shel脚本-初步入门之《06》
  18. intel android 平板,IT百科之英特尔芯平板
  19. 2016计算机2级试题,2016年计算机二级考试题及答案
  20. 中国大地保险的大数据应用架构演进之路

热门文章

  1. 春节停车难?用Python找空车位
  2. 基于Docker部署Mysql主从复制-实战详解篇
  3. EasyDarwin开源流媒体服务器内存管理优化
  4. Convolutional Neural Network based Multiple-Rate Compressive Sensing for Massive MIMO CSI Feedback:
  5. php+配置+wss+协议,WSS快速安装配置
  6. 在未来几年,有哪些职业可能被人工智能取代?
  7. Android官方文档翻译 九 2.2Adding Action Buttons
  8. uni-app海报保存制作
  9. SSH开发银联在线支付
  10. 股市的逻辑-201006