7
6

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 3 years have passed since last update.

OpenSSLをビルドする for Windows (+ Visual Studio )

Last updated at Posted at 2019-12-10

ちょうどOpenSSLをビルドする機会があったので書いておく。

公式→OpenSSL
参考にしたサイト→技術系備忘録​/C++​/OpenSSL​/ビルド方法

  • 必要なもの
    • Visual Studio 2019
      • Visual Studioのダウンロードはここ
    • Perl (個人的には StrawberryPerl 一択)
      • ActiveState を推奨してるけれど、StrawberryPerl の方が色々都合がいい
      • というかActivePerlじゃなくてActiveStateになってたのね......
    • NASM
      • アセンブラ使うとき用
      • 参考サイトだと必要かもしれないとか書いてあったけど、無くてOK

以上。後は基本的に必要なものとOpenSSLを用意して、ビルドするだけ。

  • ビルド環境
    • Visual Studio 2019
      • 最新のやつで大丈夫
      • 2017 でもビルドできるはずだけど試してない
    • Strawberry Perl
      • 最新のやつで大丈夫
    • OpenSSL
      • ver 1.1.1d
  1. Visual Studio 2019 をインストール
  2. Strawberry Perl をインストール
  3. OpenSSLSetup.bat という新規ファイルを作成する
  4. 以下のテキストを OpenSSLSetup.bat に書き込んで保存する。
  5. 「開発者コマンド プロンプト for VS 2019」を管理者権限で実行
  6. OpenSSLSetup.batを実行する。おわり。
OpenSSLSetup.bat
setlocal
cd /d %~dp0

@echo on

del openssl-1.1.1d.tar.gz
rd /s /q openssl-1.1.1d

:: powershell -Command "Invoke-WebRequest -Uri https://www.openssl.org/source/openssl-1.1.1d.tar.gz -OutFile openssl-1.1.1d.tar.gz"
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -xvf openssl-1.1.1d.tar.gz

cd ./openssl-1.1.1d

perl Configure VC-WIN32 --prefix=%CD%\x86 --openssldir=%CD%\ssl no-asm no-shared
nmake.exe install

perl Configure VC-WIN64A --prefix=%CD%\x64 --openssldir=%CD%\ssl no-asm no-shared
nmake.exe install

cmd /k

実行にはちょっと時間かかるかも。

VC-WIN32 ... x86 用オプション
VC-WIN64A ... x64 用オプション

Debugのビルドも作りたかったのだけど、うまくいかなかった……。
-d 指定してもダメ。
debug-VC-WIN64A とかやってもダメ。
何かそれっぽいこと書いてあるのに……。

投稿した瞬間だと、開発者コマンドプロンプトの事書き忘れてたので追記しときました。
参考になれば。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?