OpenSSL在windows环境的编译
编译平台:
- Windows10 x64
- Visual Studio 2017
- OpenSSL代码版本:OpenSSL_1_1_1e
- ActivePerl版本:ActivePerl-5.26.3.0000-MSWin32-x64
编译后的OpenSSL可运行平台:
- windows 10 x64
- windows 7 x64
- windows 7 x32
第1步:安装ActivePerl
安装过程所有选项默认即可,完毕后会自动添加环境变量。
如果没有自动添加到环境变量,那就需要手动添加“C:\Perl64\site\bin”、“C:\Perl64\bin”和“C:\Perl64\lib” 三项到系统环境变量PATH中。
确定安装成功的方法是启动命令行,输入perl -version
,能够出现版本
修改配置文件"C:\Perl64\lib\ActivePerl\Config.pm"。否则再执行配置时,会报错
将其400行位置左右,修改如下,重点关注注释行
# Prevent calling Win32::Console::DESTROY on a STDOUT handle
#my $console;
sub _warn {
# my($msg) = @_;
# unless (-t STDOUT) {
# print "\n$msg\n";
# return;
# }
# require Win32::Console;
# unless ($console) {
# $console = Win32::Console->new(Win32::Console::STD_OUTPUT_HANDLE());
# }
# my($col,undef) = $console->Size;
# print "\n";
# my $attr = $console->Attr;
# $console->Attr($Win32::Console::FG_RED | $Win32::Console::BG_WHITE);
# for (split(/\n/, "$msg")) {
# $_ .= " " while length() < $col-1;
# print "$_\n";
# }
# $console->Attr($attr);
# print "\n";
}
第2步:下载OpenSSL代码
可以通过git clone下载最新代码,也可以在github上下载Releases · openssl/openssl · GitHub版。
git clone https:\\github\openssl\openssl.git
第3步:编译前的配置
打开VS命令行,这里选择的是“VS 2017的 x64_x86 交叉工具命令提示符”,注意选错了可能配置或编译失败。
进入openssl源码目录,我这里是“C:/openssl-master/openssl-master”
cd C:/openssl-master/openssl-master
输入命令
Perl Configure VC-WIN32 no-asm --prefix=C:/OpenSSL1
–prefix=后面的路径是openssl编译后的安装路径
这里实际是通过Perl脚本以及配置参数,生成编译所需的makefile,如果环境没问题,此步应该很快结束。
如果第1步中没有修改Config.pm文件,可能会出现失败,提示如下:
第4步:编译
nmake
严格按照上述步骤进行编译,那么编译是可以正常通过的。若出现error,可能是选择的VS命令行不正确导致的。
可选步骤:测试openssl,可跳过。
nmake test
根据机器性能不同,耗时长短不一定,本人编译耗时大概20多分钟。
第5步:安装
nmake install
此时可以到刚刚配置的–prefix=后面的路径“C:/OpenSSL1”,看到已经安装到该路径中
目录内有:bin,html,include,lib四个目录
第5步:配置环境变量
将上述“C:/OpenSSL1”路径内的四个子目录,都添加到系统环境变量的PATH中即可。
编译所需资源链接:
https://download.csdn/download/u010333084/12257998
OpenSSL在windows环境的编译
编译平台:
- Windows10 x64
- Visual Studio 2017
- OpenSSL代码版本:OpenSSL_1_1_1e
- ActivePerl版本:ActivePerl-5.26.3.0000-MSWin32-x64
编译后的OpenSSL可运行平台:
- windows 10 x64
- windows 7 x64
- windows 7 x32
第1步:安装ActivePerl
安装过程所有选项默认即可,完毕后会自动添加环境变量。
如果没有自动添加到环境变量,那就需要手动添加“C:\Perl64\site\bin”、“C:\Perl64\bin”和“C:\Perl64\lib” 三项到系统环境变量PATH中。
确定安装成功的方法是启动命令行,输入perl -version
,能够出现版本
修改配置文件"C:\Perl64\lib\ActivePerl\Config.pm"。否则再执行配置时,会报错
将其400行位置左右,修改如下,重点关注注释行
# Prevent calling Win32::Console::DESTROY on a STDOUT handle
#my $console;
sub _warn {
# my($msg) = @_;
# unless (-t STDOUT) {
# print "\n$msg\n";
# return;
# }
# require Win32::Console;
# unless ($console) {
# $console = Win32::Console->new(Win32::Console::STD_OUTPUT_HANDLE());
# }
# my($col,undef) = $console->Size;
# print "\n";
# my $attr = $console->Attr;
# $console->Attr($Win32::Console::FG_RED | $Win32::Console::BG_WHITE);
# for (split(/\n/, "$msg")) {
# $_ .= " " while length() < $col-1;
# print "$_\n";
# }
# $console->Attr($attr);
# print "\n";
}
第2步:下载OpenSSL代码
可以通过git clone下载最新代码,也可以在github上下载Releases · openssl/openssl · GitHub版。
git clone https:\\github\openssl\openssl.git
第3步:编译前的配置
打开VS命令行,这里选择的是“VS 2017的 x64_x86 交叉工具命令提示符”,注意选错了可能配置或编译失败。
进入openssl源码目录,我这里是“C:/openssl-master/openssl-master”
cd C:/openssl-master/openssl-master
输入命令
Perl Configure VC-WIN32 no-asm --prefix=C:/OpenSSL1
–prefix=后面的路径是openssl编译后的安装路径
这里实际是通过Perl脚本以及配置参数,生成编译所需的makefile,如果环境没问题,此步应该很快结束。
如果第1步中没有修改Config.pm文件,可能会出现失败,提示如下:
第4步:编译
nmake
严格按照上述步骤进行编译,那么编译是可以正常通过的。若出现error,可能是选择的VS命令行不正确导致的。
可选步骤:测试openssl,可跳过。
nmake test
根据机器性能不同,耗时长短不一定,本人编译耗时大概20多分钟。
第5步:安装
nmake install
此时可以到刚刚配置的–prefix=后面的路径“C:/OpenSSL1”,看到已经安装到该路径中
目录内有:bin,html,include,lib四个目录
第5步:配置环境变量
将上述“C:/OpenSSL1”路径内的四个子目录,都添加到系统环境变量的PATH中即可。
编译所需资源链接:
https://download.csdn/download/u010333084/12257998