web-dev-qa-db-ja.com

Perl設定VC-WIN64Aの後にms \ do_ms.batがないのはなぜですか?

Visual Studio2015でOpenSSLをコンパイルしています。インストールしました。

  1. Windows10上のVisualStudio2015。

  2. ActivePerl-5.24.0.2400-MSWin32-x64-300558。

  3. nasm-2.11.08-win32。

  4. Git clone git://git.openssl.org/openssl.gitによるOpenSSLソースコード

私がしたことは:

  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 Configure VC-WIN64A —prefix=C:\test\openssl

今私はする必要がありますms\do_win64aですが、このバッチファイルが見つかりません。ディレクトリmsには、ファイルがあります

2016/08/22  17:39    <DIR>          .    
2016/08/22  17:39    <DIR>          ..    
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はありません。

私は何を間違えましたか?

13
gchen2101

ビルドプロセスは、新しい1.1.0リリースで変更されました。おそらくあなたはすでに自分自身を理解していますが、とにかく:

1.1.0以降、ms\do_*.batファイルはなくなりました。

代わりに、次の手順を実行します。

windowsでのx32コンパイル:

Perl Configure VC-WIN32
nmake
nmake test

windowsでのx64Aコンパイル:

Perl Configure VC-WIN64A
nmake
nmake test

以前と同じようにコンパイラ環境を構成し、Perl(および使用されている場合はNASM)へのパスを指定します。

出典:1.1.0リリースに含まれているINSTALLファイル。

新しい1.1.0リリース以降、ソースコードにms\フォルダーはありません。そして、最近静的バージョンをビルドするために何を編集する必要があるのか​​疑問に思った場合(これにより、DLLのない単一の.exeファイルになります)。これが完全なガイドです。

次の前提条件が必要になります。

これらのツールはすべてシステム全体にインストールし、%PATH%環境変数に追加する必要があります。

必要なものがすべて揃ったら、次の簡単な手順に従ってください。

  1. スタートメニューからVS2015 x64ネイティブツールのコマンドプロンプトを開きます。コマンドプロンプトが表示されます。
  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. -MD-GL -MT -Zc:wchar_t-に置き換えます
      3. LDFLAGSで始まる行を見つけます
      4. -debug-opt:icf -dynamicbase -nxcompat -ltcg /nodefaultlib:msvcrtに置き換えます
  5. 次のコマンドを使用してzlibをビルドします(1分未満で完了します)。

    • 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 source: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で始まる行を見つけます
    • ZLIB1zlib.libに置き換えます
    • 変更内容を保存
  9. OpenSSLコマンドを発行してnmakeをビルドします(約15分かかります)。

結果の〜3MB openssl.exeファイルはC:\build\openssl\apps\ディレクトリに配置されます。すべてのDLLが含まれているため、完全に移植可能です。カスタム構成ファイルを使用する必要がある場合は、C:\build\openssl\apps\openssl.cnfC:\Windows\ディレクトリにコピーして、好みに合わせて編集します。

2
Anubioz

次のコマンドは、管理者ユーザーの下で実行する必要があります

  1. Perl設定VC-WIN64A --prefix = C:\ Build-OpenSSL-VC32-Debug-DLL
  2. nmake -f makefile
  3. nmakeインストール

1.1.0以降、実行されたms\do _ *。batファイルは不要になりました。

0
acreil