3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VC++12 (VS2013) で OpenSSL 1.0.2 x64 をビルドしたメモ(のつもり)

Last updated at Posted at 2015-03-17

(x86 ビルドについてはこちらを参照

準備

  • OpenSSL 1.0.2 のソースをダウンロードして展開
  • Perl は以前からインストールされていた ActivePerl 5.16.2 を使用
  • Perl, VC++ の x64 コンパイラ等にパスを通す

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

ビルド

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

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

テストを実行するなら DLL ビルド後に

> cd out32dll
> ..\ms\test

もしくは、スタティックライブラリビルド後に

> cd out32
> ..\ms\test

として、最後に passed all tests と表示されれば正常(だと思う)。

ちなみに、上の例だと、インストール時に D:/Libraries/openssl64/lib へ libeay32.lib と ssleay32.lib がコピーされる。

これらのファイルは DLL ビルドの時はインポートライブラリ、スタティックライブラリの時はスタティックライブラリ自身を意味しており、DLL とスタティックライブラリを両方インストールすると後でインストールしたものによって以前のファイルが上書きされることに注意。

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

> perl Configure debug-VC-WIN64A --prefix=D:/Libraries/openssl64

のようにして Configure スクリプトを実行すれば良い。

3
3
0

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?