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

时间:2016-08-22 09:45:48

标签: visual-studio-2015 openssl activeperl

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

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

  2. NASM-08年11月2日-win32的。

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

  4. 我做的是:

    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

    3. 现在我应该做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。 我做错了什么?

3 个答案:

答案 0 :(得分:32)

构建过程随着新的1.1.0版本而发生了变化。可能你已经想出了自己,但无论如何:

从1.1.0开始,不再有QComboBox个文件。

而是执行以下步骤:

Windows上的x32编译:

ms\do_*.bat

Windows上的x64A编译:

perl Configure VC-WIN32
nmake
nmake test

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

来源:1.1.0版本中包含的perl Configure VC-WIN64A nmake nmake test 文件。

答案 1 :(得分:2)

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

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

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

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

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

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

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

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

      1. 找到以CFLAGS
      2. 开头的行
      3. -MD替换为-GL -MT -Zc:wchar_t-
      4. 找到以LDFLAGS
      5. 开头的行
      6. -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. 导航至OpenSSL来源: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分钟)。

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

答案 2 :(得分:0)

以下命令需要在管理员用户下执行

  1. perl配置VC- WIN64A --prefix = C:\ Build-OpenSSL-VC32-Debug-DLL
  2. nmake -f makefile
  3. nmake安装

从1.1.0版本开始,不再需要执行ms \ do _ *。bat文件。