OpenSSL 1.0.0a を VC++ で使用するためのソースコンパイルとインストールの手順

産業

  • perl Configure VC-WIN32 --prefix=C:\Software\Develop\OpenSSL\1.0.0a
  • ms\do_nasm
  • nmake -f ms\ntdll.mak
  • nmake -f ms\ntdll.mak test
  • nmake -f ms\ntdll.mak install
  • VC++ に include と lib へのパスを通す
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")

詳細

/index.html からダウンロードする.

4015794 Jun  1 15:46:21 2010 openssl-1.0.0a.tar.gz (MD5) (SHA1) (PGP sign)  [LATEST]
/source/index.html

openssl-1.0.0a.tar.gz を C:\Software\Develop\src 展開する.C:\Software\Develop\OpenSSL\1.0.0a を作っておく.手順を INSTALL.W32 を参照して進める.コマンドプロンプトは通常のものでなく「Visual Studio 2008 コマンド プロンプト」を使用する.
perl Configure VC-WIN32 --prefix=C:\Software\Develop\OpenSSL\1.0.0a を実行する.

C:\Software\Develop\src\openssl-1.0.0a>perl Configure VC-WIN32 --prefix=C:\Softw
are\Develop\OpenSSL\1.0.0a
Configuring for VC-WIN32
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
    no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-rfc3779      [default]  OPENSSL_NO_RFC3779 (skip dir)
    no-shared       [default]
    no-store        [experimental] OPENSSL_NO_STORE (skip dir)
    no-zlib         [default]
    no-zlib-dynamic [default]
IsMK1MF=1
CC            =cl
CFLAG         =-DOPENSSL_THREADS  -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -nologo -DOPE
NSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -
DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM
-DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM
EX_LIBS       =
CPUID_OBJ     =x86cpuid.o
BN_ASM        =bn-586.o co-586.o x86-mont.o
DES_ENC       =des-586.o crypt586.o
AES_ENC       =aes-586.o
BF_ENC        =bf-586.o
CAST_ENC      =cast-586.o
RC4_ENC       =rc4-586.o
RC5_ENC       =rc5-586.o
MD5_OBJ_ASM   =md5-586.o
SHA1_OBJ_ASM  =sha1-586.o sha256-586.o sha512-586.o
RMD160_OBJ_ASM=rmd-586.o
CMLL_ENC=     =cmll-x86.o
PROCESSOR     =
RANLIB        =true
ARFLAGS       =
PERL          =perl
THIRTY_TWO_BIT mode
BN_LLONG mode
RC4_INDEX mode
RC4_CHUNK is undefined

Configured for VC-WIN32.

do\ms_nasm.bat を実行する.

C:\Software\Develop\src\openssl-1.0.0a>ms\do_nasm

C:\Software\Develop\src\openssl-1.0.0a>perl util\mkfiles.pl  1>MINFO

C:\Software\Develop\src\openssl-1.0.0a>perl util\mk1mf.pl nasm VC-WIN32  1>ms\nt
.mak

C:\Software\Develop\src\openssl-1.0.0a>perl util\mk1mf.pl dll nasm VC-WIN32  1>m
s\ntdll.mak

C:\Software\Develop\src\openssl-1.0.0a>perl util\mk1mf.pl nasm BC-NT  1>ms\bcb.m
ak

C:\Software\Develop\src\openssl-1.0.0a>perl util\mkdef.pl 32 libeay  1>ms\libeay
32.def

C:\Software\Develop\src\openssl-1.0.0a>perl util\mkdef.pl 32 ssleay  1>ms\ssleay
32.def

nmake -f ms\ntdll.mak を実行する.画面表示は1521行,406 KB と大きいので割愛する.

nmake -f ms\ntdll.mak test を実行する.画面表示はその多さと,標準出力と標準エラー出力とバラバラに出るのが面倒なのでやはり割愛する.最後に passed all tests と表示されていればよい.

nmake -f ms\ntdll.mak install を実行する.画面がコピーログにより埋め尽くされる.