GmSSL Build with VS2017

转自:

最近研究GB35114, 有关于sip协议部分,exosip的已经编译过,由于gb3511中采用的是国密算法,因此这里记录一下GMSSL在windows下的编译过程以及遇到的错误, 32位已经ok,64位暂时不行,准备将错误提交作者。。。。

详细GMSSL的介绍见:http://gmssl.org/

 

根据文档说明,步骤如下:

在Window下的编译和安装

安装ActivePerl和Visual Studio,以管理员身份打开Visual Studio Tools下的Developer Command Prompt控制台并运行:

perl Configure VC-WIN32
nmake
nmake install

环境准备:
   1. ActivePerl: ActivePerl-5.28.1.0000-MSWin32-x64-432e1938.exe
   2. NASM: nasm-2.14.03rc2-installer-x64.exe

 

32位编译:

第一步便遇到了问题:  Can‘t locate Win32/Console.pm in @INC (you may need to install the Win32::Console module)

GmSSL Build with VS2017_第1张图片

 

解决: 自然想到是perl缺少Win32:Console module

网上搜索Win32:Console module perl module,其中看到perl的安装, cpan方式

perl -MCPAN -e shell

install Win32:Console

 

 

对照操作后,重新再来,发现dmake错误,又无法识别,继续搜索dmake...

继续各种查找,各种尝试,最终能真正work的方法是使用如下链接的site替换perl安装下的site目录。。。。。。

https://download.csdn.net/download/u011234288/10346624

 

解决此问题后

nmake

nmake install

就一路畅通

 

 

GmSSL Build with VS2017_第2张图片

注意,管理员权限安装

GmSSL Build with VS2017_第3张图片

 

GmSSL Build with VS2017_第4张图片

 

64位编译:

     由于文档上面介绍默认是32位的编译安装,64位可能会有问题,尝试一下,有问题提交作者,

config看看64位的 

perl Configure VC-WIN64A / VC-WIN64I 

貌似都有相同的错误,无法编译通过。。。。。。

 

 

 

        IF EXIST libcrypto-1_1-x64.dll.manifest DEL /F /Q libcrypto-1_1-x64.dll.manifest

        link /nologo /debug /dll  /implib:libcrypto.lib /out:libcrypto-1_1-x64.dll /def:libcrypto-1_1-x64.def @C:\Users\leehm\AppData\Local\Temp\nm7B43.tmp || (DEL /Q libcrypto.* libcrypto-1_1-x64.* && EXIT 1)

crypto\aes\aes_cfb.obj : fatal error LNK1112: module machine type ‘x86‘ conflicts with target machine type ‘x64‘

NMAKE : fatal error U1077: ‘link‘ : return code ‘0x1‘

Stop.

你可能感兴趣的:(windows)