windows平台编译openssl(64位MT版本)

2020-12-28 15:27

阅读:396

标签:att   lan   active   clean   hand   目录   opener   print   put   

1 准备工作

1.1 下载openssl1.1.0g

地址: https://github.com/openssl/openssl/tree/OpenSSL_1_1_0g

1.2 安装perl

我使用的strawberry 版本号v5.28.2

地址:http://strawberryperl.com/

安装好后perl -v可以查看版本号

安装完strawberry后打开的cmd才能使用perl命令(新增加的环境变量对已经打开的cmd不生效)

1.3 修改Config.pm

修改C:\Perl64\site\lib\ActivePerl下的Config.pm的"sub _warn"过程,修改后代码如下:

#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()

# print "$_\n";

# }

# $console->Attr($attr);

# print "\n";

}

2 编译

2.1 配置

打开 适用于VS2015的x64本机工具命令提示

cd到openssl目录cd到openssl目录 cd g:\openssl-1.1.0g

执行 perl Configure VC-WIN64A no-asm --prefix=g:\build\openssl\win64a

VC-WIN64A表示生成x64的Release库。debug-VC-WIN64A、VC-WIN32、debug-VC-WIN32分别表示生成x64的Debug库、x86的Release和Debug库。

no-asm 不使用汇编加速编译

g:\build\openssl\win64a输出路径

注意:此时makefile文件中默认使用/MD,如要使用/MT,可搜索修改makefile文件中的"/MD"为"/MT"后,再继续后续步骤。

2.2 编译

执行nmake

执行nmake test

若报错:执行 nmake /I test 就能够编译通过了(虽然还是会报 error),但是编译出来的可执行文件是可以使用的

执行nmake install

同一个目录下编译不同版本(win32|64|release|debug)时需要先nmake clean

windows平台编译openssl(64位MT版本)

标签:att   lan   active   clean   hand   目录   opener   print   put   

原文地址:https://www.cnblogs.com/luoluosha/p/14172664.html


评论


亲,登录后才可以留言!