windows10上安装OpenSSL_1.1.1d_x64

下载并安装 NASM-2.15.05:

https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-installer-x64.exe

下载并安装 ActivePerl-5.28:
https://www.activestate.com/products/perl/downloads/thank-you/?dl=https://cli-msi.s3.amazonaws.com/ActivePerl-5.28.msi

下载并安装 VS2017:
https://visualstudio.microsoft.com/zh-hans/vs/community/
免费的Community版就可以了,现在都是下载一个很小的下载器,然后在线安装,时间有点长,把C++的项目勾上。

下载OpenSSL-1.1.1d:
https://www.openssl.org/source/old/1.1.1/openssl-1.1.1d.tar.gz

解压缩,比如:D:softwareopenssl-1.1.1d

进入OpenSSL目录
D:softwareopenssl-1.1.1dopenssl-1.1.1d>

项目配置:
perl Configure VC-WIN64A no-asm --prefix="D:\software\openssl-1.1.1d_build64"
这里的CPU类型只能选择VC-WIN64A,如果选择其它平台,会配置失败。比如,VC-WIN64I就导致如下错误:
OpenSSL: Nmake fatal error U1077: 'ias' : return code '0x1'

开始编译:
nmake
这个过程比较漫长。
在windows10上编译时,通常会报错,提示这个文件的400行有错误:
‪C:Perl64sitelibActivePerlConfig.pm
用记事本打开这个文件,然后把sub _warn的内部实现全部注释掉。如下:
sub _warn {
# my($msg) = @_;
# unless (-t STDOUT) {
# print " $msg ";
# return;
# }
# require Win32::Console;
# unless ($console) {
# $console = Win32::Console->new(Win32::Console::STD_OUTPUT_HANDLE());
# }
# my($col,undef) = $console->Size;
# print " ";
# my $attr = $console->Attr;
# $console->Attr($Win32::Console::FG_RED | $Win32::Console::BG_WHITE);
# for (split(/ /, "$msg")) {
# $_ .= " " while length() < $col-1;
# print "$_ ";
# }
# $console->Attr($attr);
# print " ";
}

构建完成后,测试一下:
nmake test
正常情况下,应该所有的测试用例都是ok或skipped。

最后执行:
nmake install

作者:Lave Zhang
出处:http://www.cnblogs.com/lavezhang/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/lavezhang/p/14829483.html