Visual Studio2015でOpenSSLをコンパイルしています。インストールしました。
Windows10上のVisualStudio2015。
ActivePerl-5.24.0.2400-MSWin32-x64-300558。
nasm-2.11.08-win32。
Git clone git://git.openssl.org/openssl.gitによるOpenSSLソースコード
私がしたことは:
以下の行でバッチファイルを作成します。
@call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_AMD64
@set path=%path%;C:\Users\gchen\AppData\Local\nasm
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はありません。
私は何を間違えましたか?
ビルドプロセスは、新しい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%
環境変数に追加する必要があります。
必要なものがすべて揃ったら、次の簡単な手順に従ってください。
C:\build
ディレクトリを作成し、コマンドプロンプトで次のコマンドを発行します。
cd c:\build
次のコマンドを使用して、最新のzlibおよびOpenSSLソースコードをbuild
ディレクトリにダウンロードします。
git clone https://github.com/madler/zlib
git clone https://github.com/openssl/openssl
まず、静的zlib
を作成する必要があります。これを最初に行うには、いくつかの構成ファイルを編集する必要があります。
zlib
ソースフォルダーに移動します:cd C:\build\zlib
win32\Makefile.msc
ファイルを編集します。
CFLAGS
で始まる行を見つけます-MD
を-GL -MT -Zc:wchar_t-
に置き換えますLDFLAGS
で始まる行を見つけます-debug
を-opt:icf -dynamicbase -nxcompat -ltcg /nodefaultlib:msvcrt
に置き換えます次のコマンドを使用してzlib
をビルドします(1分未満で完了します)。
nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
結果のファイルを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\
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\
次に、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
に置き換えますOpenSSL
コマンドを発行してnmake
をビルドします(約15分かかります)。
結果の〜3MB openssl.exe
ファイルはC:\build\openssl\apps\
ディレクトリに配置されます。すべてのDLLが含まれているため、完全に移植可能です。カスタム構成ファイルを使用する必要がある場合は、C:\build\openssl\apps\openssl.cnf
をC:\Windows\
ディレクトリにコピーして、好みに合わせて編集します。
次のコマンドは、管理者ユーザーの下で実行する必要があります
1.1.0以降、実行されたms\do _ *。batファイルは不要になりました。