LoginSignup
8

More than 5 years have passed since last update.

VC++ 12 (VS2013) で OpenSSL をビルドしたメモ

Last updated at Posted at 2014-03-08

準備

  • 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 でスタティックライブラリをビルド&インストール

テストを実行するならビルドターゲットを test にして > nmake -f ms\nt.mak test などとする。最後に passed all tests と表示されれば正常。

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

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

デバッグ版をビルドする場合は

> perl Configure debug-VC-WIN32 --prefix=D:/Libraries/openssl

のようにする。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8