为什么perl之后没有ms\do_ms.bat配置VC-WIN64A

gch*_*101 13 openssl activeperl visual-studio-2015

我正在使用Visual Studio 2015编译OpenSSL.我已安装:1.Windows 10上的Visual Studio 2015.

  1. 的ActivePerl-5.24.0.2400-MSWin32-x64-300558.

  2. NASM - 08年2月11日 - Win32的.

  3. OpenSSL源代码由git clone git://git.openssl.org/openssl.git提供

我做的是:

  1. 使用以下行创建批处理文件.

    @call"C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\VC\vcvarsall.bat"x86_amd64 @set path =%path%; C:\ Users\gchen\AppData\Local \nasm

  2. perl配置VC-WIN64A -prefix = C:\ test\openssl

现在我应该做ms\do_win64a.但我找不到这个批处理文件.在目录'ms'中,有文件

2016/08/22 17:39

2016/08/22 17:39 ..

2016/08/21 14:23 3,646 applink.c

2016/08/21 14:23 1,247 cmp.pl

2016/08/21 14:23 2,815 segrenam.pl

2016/08/21 14:23 4,541 tlhelp32.h

2016/08/21 14:23 1,137 uplink-common.pl

2016/08/21 14:23 1,472 uplink-ia64.pl

2016/08/21 14:23 1,111 uplink-x86.pl

2016/08/21 14:23 1,594 uplink-x86_64.pl

2016/08/21 14:23 4,225 uplink.c

2016/08/21 14:23 2,268 uplink.h

但是没有ms-win64a.bat.我做错了什么?

Fre*_*orf 34

随着新的1.1.0版本,构建过程发生了变化.可能你已经弄清楚了自己,但无论如何:

从1.1.0开始,ms\do_*.bat不再有文件了.

而是执行以下步骤:

Windows上的x32编译:

perl Configure VC-WIN32
nmake
nmake test
Run Code Online (Sandbox Code Playgroud)

Windows上的x64A编译:

perl Configure VC-WIN64A
nmake
nmake test
Run Code Online (Sandbox Code Playgroud)

像以前一样配置编译器环境并指向Perl(如果使用的话,还有NASM)的路径.

来源:INSTALL1.1.0版本中包含的文件.


Anu*_*ioz 5

ms\自新的 1.1.0 版本以来,源代码中没有文件夹。如果您想知道现在应该编辑什么来构建静态版本(这会产生一个没有任何 DLL 的 .exe 文件)。这是完整的指南。

您将需要满足以下先决条件:

您应该在系统范围内安装所有这些工具并将它们添加到您的%PATH%环境变量中。

获得我们需要的一切后,只需按照以下简单步骤操作:

  1. 从开始菜单打开VS2015 x64 Native Tools 命令提示符。您将看到命令提示符。
  2. 创建C:\build目录并在命令提示符中发出以下命令:

    • cd c:\build
  3. build使用以下命令将最新的 zlib 和 OpenSSL 源代码下载到您的目录:

    • git clone https://github.com/madler/zlib
    • git clone https://github.com/openssl/openssl
  4. 首先我们必须构建 static zlib。为此,我们首先需要编辑一些配置文件:

    • 导航到zlib源文件夹:cd C:\build\zlib
    • 编辑win32\Makefile.msc文件:

      1. 找到以以下内容开头的行CFLAGS
      2. -MD用。。。来代替-GL -MT -Zc:wchar_t-
      3. 找到以以下内容开头的行LDFLAGS
      4. -debug用。。。来代替-opt:icf -dynamicbase -nxcompat -ltcg /nodefaultlib:msvcrt
  5. zlib使用以下命令进行构建(应该需要不到一分钟的时间):

    • nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
  6. 将生成的文件复制到您的OpenSSL目录:

    • xcopy zlib.h C:\build\openssl\
    • xcopy zconf.h C:\build\openssl\
    • xcopy zlib.lib C:\build\openssl\
    • xcopy zlib.pdb C:\build\openssl\
  7. 导航到OpenSSLsource:cd C:\build\openssl\并将其配置为使用静态 zlib 并openssl.cnf从目录中读取配置文件 ( ) C:\Windows\

    • perl Configure VC-WIN64A no-shared zlib no-zlib-dynamic threads --prefix=C:\Windows\
  8. 现在对 进行以下编辑C:\build\openssl\makefile

    • 找到以以下内容开头的行:CFLAG
    • 附加:/Zc:wchar_t- /GL /Zi
    • 找到以以下内容开头的行:LDFLAGS
    • /debug用。。。来代替/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt
    • 找到以以下内容开头的行:EX_LIBS
    • ZLIB1用。。。来代替zlib.lib
    • 保存更改
  9. OpenSSL通过发出命令进行构建nmake(大约需要 15 分钟)。

生成的约 3MBopenssl.exe文件将位于C:\build\openssl\apps\目录中。它是完全可移植的,因为包含了所有 DLL。如果您需要使用自定义配置文件,请将其复制C:\build\openssl\apps\openssl.cnf到您的C:\Windows\目录并根据您的喜好进行编辑。