1. softgate

    Posted

    softgate
Changes in title
+VC++ 12 (VS2013) で OpenSSL をビルドしたメモ
Changes in tags
+openssl
1.0.1f
Changes in body
Source | HTML | Preview

準備

  • OpenSSL 1.0.1f のソースをダウンロードして展開
  • Win32 用 nasm 2.11.02 バイナリをダウンロードして展開
  • Perl は以前からインストールされていた ActivePerl 5.16.2 を使用
  • nasm, Perl, VC++ にパスを通す

ここでは VS 2013 に含まれる VC++ 12 を使用した。

ビルド

OpenSSL のソースは D:\Temp\openssl-1.0.1f に展開されており、ビルド後に D:\Libraries\openssl にインストールすると仮定する。

  • D:\Temp\openssl-1.0.1f に移動
  • > perl Configure VC-WIN32 --prefix=D:/Libraries/openssl で Makefile を生成
  • > ms\do_nasm でアセンブリソースを生成
  • > nmake -f ms\ntdll.mak install で DLL をビルド&インストール
  • > nmake -f ms\nt.mak install でスタティックライブラリをビルド&インストール

デフォルトでは、DLL は CRT に動的リンク、スタティックライブラリは CRT に静的リンクされるようなコード生成オプションになっている。したがって、DLL の方は、原則として実行時に VC++ ランタイムが必要。

未確認だが、VC++ 11 以上でコンパイルする場合、XP でも動作するバイナリをビルドするには XP ツールセットを使った方が無難かもしれない(.mak ファイルの CFLAGS に /D_USING_V110_SDK71_ を追加)。